资源描述
华南理工大学
《数字图像处理》课程实验报告
实验题目: 数字图像读取及色彩、亮度对比度变化
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
了解数字图像的存储格式,并学会对图像的某些视觉特征作简单处理。
实验要求:
1. 从最常用的“.BMP”图像格式中读取图像数据;
2. 对数字图像的表示方式(如RGB、YUV)及各种表示方式之间的转换有初步了解;
3. 根据输入参数改变数字图像的色彩、亮度、对比度。
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1. 根据BMP格式,将图像内容读入内存数组;
2. 通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩;
3. 将数字图像的RGB表示转换为YUV表示;
Y=0.30R+0.59G+0.11B
U=0.70R-0.59G-0.11B
V=-0.30R-0.59G+0.89B
4. 通过访问Y(亮度)通道,改变数字图像的亮度;
5. 通过Y(亮度)通道作灰度的线性变换,改变数字图像的对比度。
二、实验图像:
三、实验主要过程:
>> R=pic;
>> R(:,:,2)=zeros(r,c);
>> R(:,:,3)=zeros(r,c);
>> G=pic;
>> G(:,:,1)=zeros(r,c);
>> G(:,:,3)=zeros(r,c);
>> B=pic;
>> B(:,:,2)=zeros(r,c);
>> B(:,:,1)=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分量');
>> Y=0.30*R+0.59*G+0.11*B;
>> U=0.70*R-0.59*G-0.11*B;
>> V=-0.30*R-0.59*G+0.89*B;
>>subplot(1,3,1);
>>imshow(uint8(Y)); title('Y分量');
>>subplot(1,3,2);
>>imshow(uint8(U)); title('U分量');
>>subplot(1,3,3);
>>imshow(uint8(V)); title('V分量');
>> Y=Y*2;
>> imshow(Y);
GreyR(:,:,1)=100+100/255*pic(:,:,1);
GreyR(:,:,2)=100+100/255*pic(:,:,2);
GreyR(:,:,3)=100+100/255*pic(:,:,3);
subplot(3,3,7);
imshow(GreyR); title('线性变换');
小结
通过本次实验,掌握了基本的图像颜色空间变换,及简单的图像修改。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 数字图像空间域增强
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
了解数字图像的灰度变换和g(0.4,0.6,0.8)校正。
实验要求:
1. 了解图像的灰度变换。
2. 对图像进行g校正。
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1. 将BMP图像内容读入内存数组。
2. 调整图像的灰度,对图像进行灰度变换(反变换)。。
3. 对图像进行校正g较正,分别取值为0.4,0.6,0.8.
二、实验图像:
三、实验主要过程:
>> pic=imread('C:\Documents and Settings\Administrator\桌面\示例图片\sample2-1.bmp');
>> gray=rgb2gray(pic);
>> subplot(1,2,1);
>> imshow(gray);
>> subplot(1,2,2);
>> opgray=255-gray;
>> imshow(opgray);
>> pic=imread('C:\Documents and Settings\Administrator\桌面\示例图片\sample2-2.bmp');
>> pic=double(pic);
>> pic=pic/256.0;
>> imshow(pic);
>> gama04 = uint8(pic.^(1/0.4).*256.0);
>> gama06 = uint8(pic.^(1/0.6).*256.0);
>> gama08 = uint8(pic.^(1/0.8).*256.0);
>> subplot(2,2,1);
>> imshow(pic); title('原图');
>> subplot(2,2,2);
>> imshow(gama04); title('0.4');
>> subplot(2,2,3);
>> imshow(gama06); title('0.6');
>> subplot(2,2,4);
>> imshow(gama08); title('0.8');
小结
通过本次实验,掌握了珈玛校正的原理及操作方法。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 数字图像的噪声去除
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
学会用滤波器去除图像中的噪声。
实验要求:
1. 用均值滤波器去除图像中的噪声;
2. 用中值滤波器去除图像中的噪声;
3. 比较两种方法的处理结果
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1. 将BMP图像内容读入内存数组;
2. 用均值滤波器去除图像中的噪声;
3. 用中值滤波器去除图像中的噪声;
4. 将两种处理方法的结果与原图比较;注意两种处理方法对边缘的影响。
二、实验图像:
源图像 加噪声后的图像
三、实验主要过程:
>> pic=imread('C:\Documents and Settings\Administrator\桌面\示例图片\sample3-2.bmp');
>>mid=medfilt2(pic);
>>ave=filter2(fspecial('average',3),pic) /255;
>> subplot(1,3,1);
>> imshow(pic); title('原图');
>> subplot(1,3,2);
>> imshow(mid); title('中值');
>> subplot(1,3,3);
>> imshow(ave); title('均值');
比较:
从结果图像中看出,滤波后的图像比之前的图像模糊,但是可以基本滤去噪声。而从直观上比较两种滤波,均值滤波的结果比中值滤波的结果亮一点。
小结
通过本次实验,掌握了简单的滤波器原理及过滤方法。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 图像的空间域锐化(拉普拉斯算子)
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
了解数字图像的空间域锐化和拉普拉斯算子
实验要求:
1. 理解图像的空间域锐化原理;
2. 熟悉拉普拉斯算子的公式和实现
3. 运用拉普拉斯算子对图像进行空间域锐化
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1、将BMP图像内容读入内存数组
2、运用拉普拉斯算子对图像进行空间域锐化
3、将锐化后的图像和原图像进行对比
二、实验图像:
三、实验主要过程:
>> pic=imread('C:\Documents and Settings\Administrator\桌面\示例图片\sample4.bmp');
>> H = fspecial('unsharp')
>> sharpened = imfilter(pic,H,'replicate');
>> subplot(1,2,1)
>> imshow(pic);
>> subplot(1,2,2)
>> imshow(sharpened);
小结
通过本次实验,掌握了数字图像的空间域锐化和拉普拉斯算子。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 频率域低通和高通滤波
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
学会两种简单的频域低通和高通滤波方法。
实验要求:
1. 学会傅立叶变换方法;
2. 使用布特沃斯和高斯滤波器进行低通滤波;
3. 使用布特沃斯和高斯滤波器进行高通滤波;
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1、将BMP图像内容读入内存数组
2、用布特沃思低通滤波器进行滤波
3、用高斯低通滤波器进行滤波
4、用布特沃思高通滤波器进行滤波
5、用高斯高通滤波器进行滤波
二、实验图像:
原始图像 加噪声后的图像
三、实验主要过程:
>> pic=imread('C:\Documents and Settings\Administrator\桌面\实验图片\实验五\sample5-1.bmp')
>> [r,c]=size(pic);
>> f=fftshift(fft2(double(pic)));
>> mx=max(max(f,[],1),[],2);
>> imf=abs(f)/mx*25600;
>> imshow(uint8(imf));
布特沃斯低通滤波
D0 = [10,20,40,80];
n = 2;
D = f;
H = D;
for row = 1:r
for column = 1:c
D(row,column) = sqrt((row-r/2)^2+(column-c/2)^2);
end
end
for 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];
D = f;
H = D;
for row = 1:r
for column = 1:c
D(row,column) = sqrt((row-r/2)^2+(column-c/2)^2);
end
end
for 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
D 0越小,结果越模糊,去噪效果越好;D0越大,则相反
布特沃思高通
D0 = [10,20,40,80];
n = 2;
D = f;
H = D;
for row = 1:r
for column = 1:c
D(row,column) = sqrt((row-r/2)^2+(column-c/2)^2);
end
end
for 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
高斯高通
D0 = [10,20,40,80];
n = 2;
D = f;
H = D;
for row = 1:r
for column = 1:c
D(row,column) = sqrt((row-r/2)^2+(column-c/2)^2);
end
end
for 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
小结
通过本次实验,掌握了频域滤波的基本原理及高斯/布特沃斯高低通滤波。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 数字图像复原
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
了解Fourier变换、反变换的算法实现,掌握频域逆滤波和维纳滤波图像复原的方法。
实验要求:
1. 用Fourier变换算法对图像作二维Fourier变换。
2. 用Fourier反变换算法对图像作二维Fourier反变换。
3. 频域逆滤波和维纳滤波图像复原。
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1. 将BMP格式图像内容读入内存数组;
2. 用快速Fourier变换算法,对图像作二维FFT变换得到G(u,v);
(考虑图像为256*256,可以采用快速Fourier变换方法)
3. 进行频域逆滤波和维纳滤波;
逆滤波退化函数:
维纳滤波退化函数
4. 进行Fourier反变换得到g(x,y);
二、实验图像:
需要复原的图像 原图像
三、实验主要过程:
逆滤波
H = zeros(r, c);
k = 0.00001;
for row = 1:r
for column = 1:c
H(row, column) = exp(-k*(( row-r/2)^2+( column -c/2)^2)^(5/6));
end
end
f = fftshift(fft2(double(pic)));
f = f./H;
f = ifft2(ifftshift(f));
f = uint8(real(f));
imshow(f);
维纳滤波
H = zeros(r, c);
k = 0.0001;
for row = 1:r
for column = 1:c
H(row,column) = exp(-k*((row-r/2)^2+(column-c/2)^2)^(5/6));
end
end
spectrum = H.^2;
f = fftshift(fft2(double(pic)));
HW = H./(spectrum + 0.0001);
f = f.*(HW);
f = ifft2(ifftshift(f));
f = uint8(real(f));
imshow(f);
小结
通过这次实验,掌握了图像恢复的基本原理和简单的手法。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 人脸皮肤颜色分层
姓名: 学号:
班级: 组别:
合作者:
指导教师: 张星明
实验概述
【实验目的及要求】
实验目的:
使用颜色分层方法,对身份证标准图像实现肤色检测和背景分离
实验要求:
1. 理解彩色图像的颜色分层原理和方法;
2. 利用颜色分层方法对彩色图像进行分层处理
3. 实现对身份证标准图像的背景分离和皮肤区域提取
【实验环境】
操作系统:Windows XP
实验平台:Matlab
实验内容
【实验过程】
一、实验步骤:
1、根据BMP格式,将彩色图像内容读入内存数组;
2、对图像中背景和皮肤区域计算背景和肤色平均值(a值),并设置分层阈值 W;
3、利用图像分层函数对彩色图像进行扫描和计算处理;
4、根据背景平均值和分层阈值去掉身份证标准图像背景区域;
5、根据肤色平均值和分层阈值提取身份证标准图像皮肤区域;
二、实验图像:
三、实验主要过程:
小结
通过本次实验,掌握了。
指导教师评语及成绩
评语:
成绩: 指导教师签名:
批阅日期:
展开阅读全文