《数字图像处理实验》word版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华南理工大学
《数字图像处理》课程实验报告
实验题目:实验1、数字图像读取及色彩、亮度对比度变化姓名:学号:
班级:组别:
合作者:
指导教师:
V=-0.30R-0.59G+0.89B
5.通过访问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-k
for column = 1+k:c-k
m = src(row-k:row+k,column-k:column+k);
temp = sum(sum(m,1),2)*(1/n/n);
output(row, column) = uint8(temp);
end
end
imshow(output);
在本代码中,边缘并没有被处理,而是直接采用源图像的对应值。
2、对源图像进行3*3的中值滤波,结果如下: