Matlab学习4 您所在的位置:网站首页 matlab底层原理 Matlab学习4

Matlab学习4

2023-08-10 17:52| 来源: 网络整理| 查看: 265

图像处理,图像加法(例图像的叠加,调亮色等),图像减法(例捕捉运动图像的轨迹) 环境matlab2020

使用imadd(加)、imsubtract(减)、imresize(改)、imnoise(图像加噪)

matlab函数

imadd(X,Y): 将两个图像相加或在图像中添加常量; Z=imadd(X,Y)将数组X中的每个元素与数组Y中的对应元素相加,并在输出数组Z的对应元素中返回和。 imsubtract(X,Y) 从一个图像中减去另一个图像或从图像中减去常量; Z=imsubtract(X,Y)从数组X中的每个元素中减去数组Y中的对应元素,并在输出数组Z的对应元素中返回差。 rgb2gray() 将RGB图像或颜色图转换为灰度图; I=rgb2gray(RGB)将真彩色图像RGB转换为灰度图像I。通过消除色调和饱和度信息,同时保留亮度,来将RGB图像转换为灰度图。 imnoise():向图像添加噪声 J=imnoise(I,‘gaussian’)将方差为0.01的零均值高斯白噪声添加到灰度图像I。 J=immoise(I,‘gaussian’,m)添加高斯白噪声,均值为m,方差为0.01。 J=imnoise(I,‘gaussian’,m,var_gauss)添加高斯白噪声,均值为m,方差为var_gauss。 J=imnoise(I,‘localvar’,var_local)添加局部方差为var_local的零均值高斯白噪声。 J=imnoise(I,‘localvar’,intensity_map,var_local)添加零均值高斯白噪声。噪声的局部方差 var_1ocal是I中图像强度值的函数。图像强度值到噪声方差的映射由向量intensity_map 指定。 J=imnoise(I,‘poisson’)从数据中生成泊松噪声,而不是向数据中添加人为噪声。有关详细信息,请参阅算法。 J=imnoise(I,'salt&pepper")添加椒盐噪声,默认噪声密度为0.05。这会影响大约5%的像素。 3=imnoise(I,‘salt&pepper’,d)添加椒盐噪声,其中d是噪声密度。这会影响大约dnumel(I)个像素。=imnoise(I,‘speckle’)使用方程]=I+nT 添加乘性噪声,其中n是均值为0、方差为0.05的均匀分布随机噪声。 J=imnoise(I,‘speckle’,var_speckle)添加方差为var_speckle的乘性噪声。

1、图像加法

效果如下: 在这里插入图片描述

test.m代码:

%图像加法 img1=imread("A.bmp"); img2=imread("B.bmp"); %rbg图像转变灰度图像 img3=rgb2gray(img1); img4=rgb2gray(img2); %灰度图像相加 img5=imadd(img3,img4); %显示 subplot(1,3,1),imshow(img3),xlabel("A"); subplot(1,3,2),imshow(img4),xlabel("B"); subplot(1,3,3),imshow(img5),xlabel("A+B"); 2、图像融合

效果如下: 在这里插入图片描述

test.m代码:

%图像融合 img1=imread("man.tif"); img2=imread("test1.png"); %修改图像大小 % img1=imresize(img1,[200,200]); % img2=imresize(img2,[200,200]); %图像相加,x,y必须具有相同大小和类 img3=imadd(img1,img2); subplot(1,3,1),imshow(img1),xlabel("A"); subplot(1,3,2),imshow(img2),xlabel("B"); subplot(1,3,3),imshow(img3),xlabel("A+B"); 3、图像融合,使用具体参数

效果如下: 在这里插入图片描述

test.m代码:

%图像融合,使用具体参数 img1=imread("test1.png"); %图像相加 img2=imadd(img1,50); img3=imadd(img1,-50); subplot(1,3,1),imshow(img1),xlabel("原图像"); subplot(1,3,2),imshow(img2),xlabel("增加亮度后的图像"); subplot(1,3,3),imshow(img3),xlabel("减弱亮度后的图像"); 4、图像还原

效果如下: 在这里插入图片描述

test.m代码:

%图像还原 %原始图像 img=imread("test.png"); img=rgb2gray(img); subplot(2,3,1),imshow(img),xlabel("(a)原图像"); [m,n]=size(img); %加噪图像(被还原图像) img1=imnoise(img,"gaussian",0,0.01);%叠加零均值高斯噪声(方差为0.01) subplot(2,3,2),imshow(img1),xlabel("(b)加噪图像"); %2幅同类图像进行相加平均 J=zeros(m,n); J=double(J); for i=1:2 X=imnoise(img,"gaussian"); Y=double(X); J=J+Y/2; end subplot(2,3,3),imshow(mat2gray(J)),xlabel("(c)2幅图像平均"); %4幅同类图像进行相加平均 J=zeros(m,n); J=double(J); for i=1:4 X=imnoise(img,"gaussian"); Y=double(X); J=J+Y/4; end subplot(2,3,4),imshow(mat2gray(J)),xlabel("(d)4幅图像平均"); %8幅同类图像进行相加平均 J=zeros(m,n); J=double(J); for i=1:8 X=imnoise(img,"gaussian"); Y=double(X); J=J+Y/8; end subplot(2,3,5),imshow(mat2gray(J)),xlabel("(e)8幅图像平均"); %16幅同类图像进行相加平均 J=zeros(m,n); J=double(J); for i=1:16 X=imnoise(img,"gaussian"); Y=double(X); J=J+Y/16; end subplot(2,3,6),imshow(mat2gray(J)),xlabel("(f)16幅图像平均"); 5、图像减法

效果如下: 在这里插入图片描述

test.m代码:

%图像减法 img1=imread("A.bmp"); img2=imread("B.bmp"); %修改图像大小 % img1=imresize(img1,[200,200]); % img2=imresize(img2,[200,200]); %图像相减,要求图像矩阵相同大小 img3=imsubtract(img1,img2); subplot(1,3,1),imshow(img1),xlabel("A"); subplot(1,3,2),imshow(img2),xlabel("B"); subplot(1,3,3),imshow(img3),xlabel("A-B"); 6、图像减法,捕捉图像运动轨迹

效果如下: 在这里插入图片描述

test.m代码:

%图像减法,运动图像轨迹 img1=imread("F4_8a.bmp"); img2=imread("F4_8b.bmp"); img3=imread("F4_8c.bmp"); subplot(2,3,1),imshow(img1),xlabel("a"); subplot(2,3,2),imshow(img2),xlabel("b"); subplot(2,3,3),imshow(img3),xlabel("c"); %图像相减 img4=imsubtract(img1,img2); img5=imsubtract(img2,img3); img6=imsubtract(img1,img3); subplot(2,3,4),imshow(img4),xlabel("a-b"); subplot(2,3,5),imshow(img5),xlabel("b-c"); subplot(2,3,6),imshow(img6),xlabel("a-c");

素材:https://gitee.com/CYFreud/matlab/tree/master/image_processing/demo4_220328



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有