当前位置:文档之家› 《数字图像处理实验》word版

《数字图像处理实验》word版

华南理工大学《数字图像处理》课程实验报告实验题目:实验1、数字图像读取及色彩、亮度对比度变化姓名:学号:班级:组别:合作者:指导教师:V=-0.30R-0.59G+0.89B5.通过访问Y(亮度)通道,改变数字图像的亮度;二、实验图像:三、实验主要过程:1、读入图像,分离RGB三个通道,结果如下:代码如下:% 读入图像并分离RGB,显示;src = imread('sample1-1.bmp');[r c d] = size(src);R = src;G = src;B = src;R(:,:,2) = zeros(r,c);R(:,:,3) = zeros(r,c);G(:,:,1) = zeros(r,c);G(:,:,3) = zeros(r,c);B(:,:,1) = zeros(r,c);B(:,:,2) = zeros(r,c);subplot(1,3,1);imshow(R); title('R分量');subplot(1,3,2);imshow(G); title('G分量');subplot(1,3,3);imshow(B); title('B分量');2、修改RGB值(反色),改变图像的色彩,结果如下:代码如下:% 修改RGB的值(这时采用了反色),改变图像的色彩;R(:,:,1) = 255 - R(:,:,1); % 为了进行后面的实验,请注释此行G(:,:,2) = 255 - G(:,:,2); % 为了进行后面的实验,请注释此行B(:,:,3) = 255 - B(:,:,3); % 为了进行后面的实验,请注释此行subplot(2,3,1);imshow(R); title('R分量反色');subplot(2,3,2);imshow(G); title('G分量反色');subplot(2,3,3);imshow(B); title('B分量反色');subplot(2,3,4);imshow(src); title('原图');subplot(2,3,6);imshow(R+G+B); title('反色');3、将RGB转为YUV,结果如下:代码如下:R = double(R(:,:,1));G = double(G(:,:,2));B = double(B(:,:,3));Y = 0.299*R + 0.587*G + 0.114*B;U = -0.147*R - 0.289*G + 0.436*B;V = 0.615*R - 0.515*G - 0.100*B;subplot(2,3,1);imshow(uint8(Y)); title('Y分量');subplot(2,3,2);imshow(uint8(U)); title('U分量');subplot(2,3,3);imshow(uint8(V)); title('V分量');4、修改Y分量(这里除以1.5),重新由YUV转为RGB,结果如下:代码如下:Y = Y/1.5;R = Y + 1.140*V;G = Y - 0.395*U - 0.581*V;B = Y + 2.032*U;rgb(:,:,1) = uint8(R(:,:));rgb(:,:,2) = uint8(G(:,:));rgb(:,:,3) = uint8(B(:,:));subplot(2,3,4);imshow(rgb); title('修改亮度');华南理工大学《数字图像处理》课程实验报告实验题目:实验2、数字图像空间域增强姓名:学号:班级:组别:合作者:指导教师:三、实验主要过程:1、对源图像进行标准化,使像素的RGB值的范围为0到1代码如下:src = imread('sample2-1.bmp');src = double(src);src = src / 256.0;2、对源图像的各像素,采用不同的珈玛值进行校正,并显示比较,结果如下:代码如下:gamma0p4 = uint8(src.^(1/0.4).*256.0);华南理工大学《数字图像处理》课程实验报告实验题目:实验3、数字图像的噪声去除姓名:学号:班级:组别:合作者:指导教师:源图像加噪声后的图像三、实验主要过程:1、对源图像进行3*3的均值滤波,结果如下:代码如下:src = imread('sample3-2.bmp');[r,c] = size(src);output = src;n = 3; k = (n-1)/2;for row = 1+k:r-kfor column = 1+k:c-km = src(row-k:row+k,column-k:column+k);temp = sum(sum(m,1),2)*(1/n/n);output(row, column) = uint8(temp);endendimshow(output);在本代码中,边缘并没有被处理,而是直接采用源图像的对应值。

2、对源图像进行3*3的中值滤波,结果如下:华南理工大学《数字图像处理》课程实验报告实验题目:实验4、频率域低通和高通滤波姓名:学号:班级:组别:合作者:指导教师:源图像加噪声后的图像三、实验主要过程:1、对源图像进行进行空间域到频域的变换,结果如下:代码如下:src = imread('sample4-2.bmp');[r,c] = size(src);f = fftshift(fft2(double(src)));mx = max(max(f,[],1),[],2);imf = abs(f)/mx*25600;imshow(uint8(imf));代码如下:D0 = [20,50,80,120];D = f;H = D;for row = 1:rfor column = 1:cD(row,column) = sqrt((row-r/2)^2+(column-c/2)^2);endendfor type = 1:length(D0)H = exp(D.^2/(2*D0(type)^2)*(-1));f2 = f.*H;f2 = ifft2(ifftshift(f2));subplot(2,2,type);imshow(uint8(real(f2)));title(D0(type));end从结果可知,D0越小,结果越模糊,去噪效果越好;D0越大,则相反。

代码如下:D0 = [10,20,40,80];n = 2;D = f;H = D;for row = 1:rfor column = 1:cD(row,column) = sqrt((row-r/2)^2+(column-c/2)^2); endendfor type = 1:length(D0)H = 1 - exp(D.^2/(2*D0(type)^2)*(-1));f2 = f.*H;f2 = ifft2(ifftshift(f2));subplot(2,2,type);imshow(uint8(real(f2)));title(D0(type));end代码如下:D0 = [10,20,40,80];n = 2;D = f;H = D;for row = 1:rfor column = 1:cD(row,column) = sqrt((row-r/2)^2+(column-c/2)^2); endendfor type = 1:length(D0)H = 1./(1+(D/D0(type)).^(2*n));f2 = f.*H;f2 = ifft2(ifftshift(f2));subplot(2,2,type);imshow(uint8(real(f2)));title(D0(type));end代码如下:D0 = [10,20,40,80];n = 2;D = f;H = D;for row = 1:rfor column = 1:cD(row,column) = sqrt((row-r/2)^2+(column-c/2)^2); endendfor type = 1:length(D0)H = 1 - 1./(1+(D/D0(type)).^(2*n));f2 = f.*H;f2 = ifft2(ifftshift(f2));subplot(2,2,type);imshow(uint8(real(f2)));title(D0(type));end华南理工大学《数字图像处理》课程实验报告实验题目:实验5、数字图像复原姓名:学号:班级:组别:合作者:指导教师:二、实验图像:需要复原的图像原图像三、实验主要过程:1、进行逆滤波的操作,这里的H(u, v)是自定义的,结果如下:代码如下:src = imread('sample5-1.jpg');src = rgb2gray(src);[r, c] = size(src);H = zeros(r, c);k = 0.00001;for row = 1:rfor column = 1:cH(row, column) = exp(-k*(( row-r/2)^2+( column -c/2)^2)^(5/6));endendf = fftshift(fft2(double(src)));f = f./H;f = ifft2(ifftshift(f));f = uint8(real(f));imshow(f);由于给出了源图片,所以这里H(u, v)也可以由后面的图像的频域值除以源图片的频域值得出。

2、进行维纳滤波的操作,这里的H(u, v)是自定义的,结果如下:代码如下:src = imread('sample5-1.jpg');src = rgb2gray(src);[r, c] = size(src);H = zeros(r, c);k = 0.0001;for row = 1:rfor column = 1:cH(row,column) = exp(-k*((row-r/2)^2+(column-c/2)^2)^(5/6));endendspectrum = H.^2;f = fftshift(fft2(double(src)));HW = H./(spectrum + 0.0001);f = f.*(HW);(本资料素材和资料部分来自网络,仅供参考。

相关主题