图像增强的matlab源代码带注释.docVIP

  • 22
  • 0
  • 约2.95千字
  • 约 4页
  • 2017-08-21 发布于云南
  • 举报
代码一: % 2.灰度线性变换,利用imadjust函数对图像局部灰度范围进行扩展 % MATLAB 程序实现如下: I=imread(e.jpg); subplot(2,2,1),imshow(I); title(原始图像); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); %图像I必须为彩色图像 subplot(2,2,2),imshow(I1); title(灰度图像); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3),imshow(J); title(线性变换图像[0.1 0.5]); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] %imadjust(I1,[a b],[])中a和b的值越接近零,图像越亮 subplot(2,2,4),imshow(K); title(线性变换图像[0.3 0.7]); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 %注释: % Matlab函数rgb2gray简介   % 函数功能:将真彩色图像转换为灰度图像。 % 调用格式:   I = rgb2gray(RGB)   % 将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)    % newmap = rgb2gray(map)   返回一个灰度调色板。   % 相关函数: ind2gray, mat2gray, ntsc2rgb, rgb2ind, rgb2ntsc \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 代码二: %利用均值滤波器对图像进行平滑处理,噪声得到了有效的去除 %并且选择模版的尺寸越大,噪声的去除效果越好,同时图像边缘细节越模糊 clear all; I=imread(e.jpg); M=rgb2gray(I); %创建均值滤波器模版 H1=ones(3)/9; H2=ones(7)/49; %添加高斯噪声,均值为0,方差为0.02 J=imnoise(M,gaussian,0,0.02); %转化J为double数据类型 J=double(J); %均值滤波 G1=conv2(J,H1,same); G2=conv2(J,H2,same); %图像显示 subplot(2,2,1); imshow(M); title(原始图像); subplot(2,2,2); imshow(J,[]); title(添加高斯噪声图像); subplot(2,2,3); imshow(G1,[]); title(3*3均值滤波图像); subplot(2,2,4); imshow(G2,[]); title(7*7均值滤波图像); \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 代码三: %利用阈值对图像进行平滑处理,噪声得到了有效的去除 %并且和3*3滤波器相比,阈值法去噪效果更明显 clear all; I=imread(e.jpg); M=rgb2gray(I); [m n]=size(M); T=50;%设定阈值 G=[]; %创建数组用来存储新得到的图像像素值 %创建均值滤波器模版 H1=ones(3)/9; %添加椒盐噪声 J=imnoise(M,salt pepper,0.05); %转化J为double数据类型 J=double(J); %用于卷积公式时要转化为双精度 %均值滤波 G1=conv2(J,H1,same); %G2=conv2(J,H2,same); %图像显示 for i=1:m for j=1:n if abs(J(

文档评论(0)

1亿VIP精品文档

相关文档