数字图像处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院实验报告
课程名称:数字图像处理
实验项目名称:数字图像处理的基础实验时间:班级:姓名:学号:
实验目的:
1.通过本次实验熟悉matlab语言
2.学会对图像的放大缩小处理
实验环境:
Matlab软件
实验内容及过程:
1.数字图像采样过程
(1)实现图像4倍、16倍的减采样(缩小)
最简单的是减小一半,这样只需取原图的偶(奇)数行和偶(奇)数列构成新的图像。
(2)实现图像4倍、16倍的增采样(放大)
如果需要将原图像放大k*k倍,则将一个像素值添在新图像的k*k的子块中。
注意:减采样或者增采样过程可以使用灰度图像或者彩色图像。编程时候要特别注意灰度图像的数据是2维的,彩色图像的数据是3维的。
2. 数字图像灰度级变换过程
(1)将一幅彩色图像转换为256级灰度图像;
(2)将一幅256级灰度图像分别转换为64级、16级、8级、2级灰度图像。
实验结果及分析:
1.数字图像采样过程
(1)实现图像4倍、16倍的减采样(缩小)设计程序
function Iw = resample(I,m)
[a,b] = size(I);
aa = floor(a/m);
bb = floor(b/m);
Iw=zeros(aa,bb);
for i=1:aa
for j=1:bb
Iw(i,j)=I(m*(i-1)+1,m*(j-1)+1);
end
end
Iw=uint8(Iw);
clc;clear;
close all;
I=imread('cameraman.tif'); m=4;
Iw=resample(I,m);
imshow(I);
imshow(Iw);
n=16;
Iw2=resample(I,n);
figure:imshow(Iw2);
figure:imshow(I);
实验结果
(2)实现图像4倍、16倍的增采样(放大)
function Iw = resample2(I,m) [a,b] = size(I);
for i=1:a
for j=1:b
Iw(m*i,m*j)=I(i,j);
end
end
Iw=uint8(Iw);clc;
clear;
close all;
I=imread('cameraman.tif'); m=4;
Iw=resample2(I,m);
imshow(I);
imshow(Iw);
figure:imshow(I);
2. 数字图像灰度级变换过程
(1)将一幅彩色图像转换为256级灰度图像;
clc;
clear;
close all;
I=imread('a.jpg');
I2=rgb2gray(I);
imshow(I)
figure:imshow(I2)
(2)将一幅256级灰度图像分别转换为64级、16级、8级、2级灰度图像。
clc;
clear;
close all;
I=imread('a.jpg');
I2=rgb2gray(I);
[wid,hei]=size(I2);
im64=zeros(wid,hei);
im32=zeros(wid,hei);
im8=zeros(wid,hei);
im2=zeros(wid,hei);
for i=1:wid
for j=1:hei
im64(i,j)=floor(I2(i,j)/4); end
end
subplot(2,2,1);
imshow(uint8(im64),[0,63])
for i=1:wid
for j=1:hei im32(i,j)=floor(I2(i,j)/8); end
end
subplot(2,2,2);
imshow(uint8(im32),[0,31])
for i=1:wid
for j=1:hei
im8(i,j)=floor(I2(i,j)/32); end
end
subplot(2,2,3);
imshow(uint8(im8),[0,15])
for i=1:wid
for j=1:hei
im2(i,j)=floor(I2(i,j)/128); end
end
subplot(2,2,4);
imshow(uint8(im2),[0,1])
实验心得: