实验二 图像类型

一、实验目的

1、读取任一图像,将其转换成二值图像,设置二值化图像的阈值,分别为level=0.4,level=0.7 。对结果进行分析。
2、选择不同的阈值,观察阈值对图像二值化的影响。

二、程序及实验结果分析。
RGB=imread('E:数字图像处理\实验\20190822_IMG_6334.JPG');
gray=rgb2gray(RGB);%得到灰度图
BW1=imbinarize(gray,0.4);
BW2=imbinarize(gray,0.7);
subplot(2,2,1),imshow(RGB);
subplot(2,2,2),imshow(gray);%转化后灰度图片
subplot(2,2,3),imshow(BW1);%转换后的二值图片
subplot(2,2,4),imshow(BW2);%转换后的二值图片

在这里插入图片描述
更改阈值后:

RGB=imread('E:\数字图像处理\实验\20190822_IMG_6334.JPG');
gray=rgb2gray(RGB);%得到灰度图
BW1=imbinarize(gray,0.2);%阈值0.2
BW2=imbinarize(gray,0.4);%阈值0.4
subplot(2,2,1),imshow(RGB);%
subplot(2,2,2),imshow(gray);%转换后的灰度图片
subplot(2,2,3),imshow(BW1);%转换后的二值图片
subplot(2,2,4),imshow(BW2);%转换后的二值图片

在这里插入图片描述

三、思考题

选择不同的阈值,观察阈值对图像二值化的影响。
答:阈值不同得到的结果不同,阈值过低会使图像整体偏亮,即灰度为1的像素个数占大部分;阈值过高会使图像整体偏暗,即灰度为0的像素个数占大部分。
合适的阈值能使图像边界更加清晰。

实验三 图像变换

一、实验目的
一、编程题(程序和显示图像均写在实验报告中)
 1、选取一幅大小为 256×256 像素的图像,如i_lena.jpg.分别将图比例放大1.5 倍,比例缩小0.7 倍,非比例放大到420×384 像素,非比例缩小到150×180 像素。将该图像分别逆时针旋转 45°和顺时旋转90°,与原图像对比,观察它们的区别。
三、编程题(程序和显示图像均写在实验报告中)

(1)选择一幅图像lena.jpg,设置输入/输出变换的灰度级范围, a=0.3, b=0.6, c=0.1, d=0.9。
(2)设置非线性扩展函数的参数c=2。
(3)对结果进行分析。

二、 程序及实验结果分析。
I=imread('E:\数字图像处理\实验\20191009_IMG_6720.JPG');
figure;
imshow(I);
title('原图')
J=imresize(I,1.5);
figure;
imshow(J);
title('放大1.5')
c=imresize(I,0.7);
figure;
imshow(c);
title('缩小0.7')
d=imresize(I,[420,384]);
figure;
imshow(d);
title('420*384像素')
e=imresize(I,[150,180]);
figure;
imshow(e);
title('150*180像素')
f=imrotate(I,45);
figure;
imshow(f);
title('逆时针旋转45度')
f=imrotate(I,-90);
figure;
imshow(f);
title('顺时针旋转90度')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.

I=imread('E:数字图像处理\实验\20191009_IMG_6720.JPG');
subplot(1,2,1);
imshow(I);
a=0.3, b=0.6, c=0.1, d=0.9;
g=imadjust( I,[a b],[c d],2);
subplot(1,2,2),
imshow(g);

在这里插入图片描述
观察发现,与原图像相比,变换后的图像变亮,减暗。

五、从磁盘上读入一幅图像,显示其直方图, 对原图像进行直方图均衡化处理,显示处理之后的图像和其直方图。程序和显示图像均写在实验报告中)

I=imread(' E:数字图像处理\实验\20191009_IMG_6720.JPG');
I=rgb2gray(I);
subplot(2,2,1),
imshow(I);
title('原图');
subplot(2,2,2),
imhist(I);
title('原图直方图');
J=histeq(I);
subplot(2,2,3),
imshow(J);
title('均衡化图');
subplot(2,2,4),
imhist(J);
title('均衡化后直方图');

在这里插入图片描述

三、思考题

图像的旋转会导致图像的失真吗?若有,有什么办法可以解决这个问题?
答:在数字图像处理.上,非(pai/2)整 数倍的旋转,一定会因目的图像的坐标不再是整数,因此必须重采样而带来失真。重采样,一可以用插值算法。如果对处理后的效果要求不高,可以使用二维线性插值,要求高点,可以用三次样条插值等算法。

线性扩展与对数非线性扩展各有什么特点?
对数非线性变换能否使图像的低灰度级压缩,高灰度级扩展或者低灰度级扩展,高灰度级压缩?
选择不同的阈值观察阈值对图像二值化的影响。
答: (1)线性扩展可以将一幅图像的某一灰度级范围线性扩展到另一灰度级范围;如果d-c>b-a,则输出图像的对比度增大。
对数非线性扩展将使图像的低灰度级扩展,高灰度级压缩,即图像加亮、减暗
(2)对数非线性变换能使低灰度级扩展,高灰度级压缩
(3)二值化变换将图像变成黑白图像,阈值不同得到的结果将不同,阈值过低会使图像整体偏亮,即灰度为1的像素个数占大部分;阈值过高会使图像整体偏暗,即灰度为0的像素个数占大部分。

实验四 空域滤波

一、实验目的
1、观察理解图像经过均值滤波后的影响
2、了解三种边缘检测算子对于图像的影响
3、了解图像经过锐化处理后的变化
4、了解旋转角度后图像经过傅里叶变换,频谱图之间的特性

二、程序及实验结果分析。

I=imread('E:\数字图像处理\实验\1562378451_468430.jpg');
I1=double(rgb2gray(I));
figure,imshow(I1,[]),title('原图');
%均值滤波
H=[[1/16,2/16,3/16],...
       [2/16,4/16,1/16],...
       [1/16,1/16,1/16]];
I2=imfilter(I1,H);
figure,imshow(I2,[]),title('均值滤波后的图像');
%边缘计算
M=[[-1/8,-1/8,-1/8],...
       [-1/8,1,-1/8],...
       [-1/8,-1/8,-1/8]];
I3=imfilter(I1,M);
figure;
subplot(2,2,1),imshow(I3,[]),colormap(gray),title('边缘图像');
I4=edge (I1,'roberts');
I5=edge (I1,'sobel');
I6=edge (I1,'prewitt');
subplot(2,2,2),imshow(I4,[]),colormap(gray),title('roberts算子');
subplot(2,2,3),imshow(I5,[]),colormap(gray),title('sobel算子');
subplot(2,2,4),imshow(I6,[]),colormap(gray),title('prewitt算子');
%图像锐化
I7=I1+abs(I3);
figure;
subplot(1,2,1),imshow(I1,[]),title('原图');
subplot(1,2,2),imshow(I7,[0 255]),colormap(gray),title('锐化图像');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实验结果分析:
三种边缘检测算子得到的结果各不相同,不同的算法对于图像边缘检测效果不同,对于图像的噪声处理也不同;
Roberts算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感;Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。
在这里插入图片描述
实验结果分析:
图像锐化后的边缘加重,变得更加清晰,锐化效果是在原始图像上做加法,加上了一个边缘图像。

I=imread('E:\数字图像处理\实验\1562378451_468430.jpg');
I1=rgb2gray(I);
I2=imresize(I1,[512,512]);
figure;
subplot(1,2,1),imshow(I2);
title('原图');
B2=imrotate(I2,45);%逆时针旋转 45°
subplot(1,2,2),imshow(B2);
title('逆时针旋转45°图');
%快速傅里叶变换
f=double(I2);
F=fft2(f);
S=abs(F);
figure;
subplot(1,2,1),imshow(S,[]);
title('傅里叶变换图像');
f1=double(B2);
F1=fft2(f1);
S3=abs(F1);
subplot(1,2,2),imshow(S3,[]);
title('旋转后傅里叶变换图像');
%平移
Fc=fftshift(F);
S=abs(Fc);
figure;
imshow(S,[]);
title('平移后的图像');
Fc1=fftshift(F1);
A=abs(Fc1);
figure;
imshow(A,[]);
title('旋转平移后的图像');
%取对数增强图片亮度
S2=log(1+S);
figure;
subplot(1,2,1),imshow(S2,[]);
title('频谱幅度值取对数后的图像');
S4=log(1+A);
subplot(1,2,2),imshow(S4,[]);
title('旋转频谱幅度值取对数后的图像');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、思考题

三种边缘检测算子得到的结果各不相同,不同的算法对于图像边缘检测效果不同,对于图像的噪声处理也不同;
Roberts算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感;Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。
图像锐化后的边缘加重,变得更加清晰,锐化效果是在原始图像上做加法,加上了一个边缘图像。

PS作业

1.新建一个项目,设置宽度16厘米,高度20厘米,分辨率为 300像素/英寸
在这里插入图片描述
2.打开几张要合成的照片,使用ctrl键选择多张图片在这里插入图片描述
3.在背景图层上新建图层,并且修改图像大小能放入新建的项目中
在这里插入图片描述
4.将修改好大小素材使用移动工具粘贴到新建的空白图层里;
在这里插入图片描述
5.然后在每一层图层上使用文字工具添加文字,还可以修改文字的样式大小颜色等等
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.然后栅格化文字图层,合并可见图层,导出为ipg格式。
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐