首页 > 代码库 > 1_Matlab实现图像显示及其代数操作
1_Matlab实现图像显示及其代数操作
1.图像显示
将一幅数字图像从一幅离散数据还原成一幅可见图像的过程。
A.imshow()函数可以显示索引图、灰度图、二进制图、RGB图等。注意索引图的显示。
Imshow显示图像不会显示图像的坐标。
有两种方法可以完成图像的显示操作:先读图像再imshow;直接imshow(文件路径及其名称)。
B.colorbar是将图像加入颜色条。
C.subimage()和imshow最大的区别就是显示图像的坐标,也可以指定坐标
D.warp()指定图像再三维空间中进行映射。三维空间默认是矩形面。
代码示例:
>> A=imread(‘C:\Users\Administrator\Desktop\QQ.jpg‘);
>> subplot(2,2,1);imshow(A);title(‘RGB图‘);
>> subplot(2,2,2);colorbar;title(‘Withcolorbar‘);
>> subplot(2,2,3);warp(A);title(‘默认映射‘);
>> [x,y,z]=sphere(100);subplot(2,2,4);warp(x,y,z,A);title(‘球形映射‘);
程序效果图:
2.图像的代数操作
在matlab中,数字图像是以矩阵形式存放的,矩阵元素对应着像素点的像素值。
A.图像代数异常处理
图像相加或相减会溢出,当溢出时,计算的结果会以边界对其进行截断;
图像的相乘或相除会使计算结果无效,当 分数的时候会四舍五入
B.图像的加操作:imadd函数
应用场景:对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性的噪声。比如长距离模拟通信传送图像(卫星图像).
相加时,像素的维度要一样,即像素大小要一致。
C.图像的减操作:imsubstact函数
应用场景:常用于检测图像变化及运动物体的图像处理方法。图像的减法与阈值化处理的综合使用时建立机器视觉最有效方法之一。
相加后再执行相减处理,一般都无法得到原来图像的像素值
D.图像的乘操作:immultiply函数
应用场景:掩摸:两幅图像相乘,屏蔽掉图像的某些部分;图像乘以一个常数起到缩放作用。常数大于1表示亮度增加;反之减少。
E.图像的除操作:imdivide函数
应用场景:在医学上,校正成像设备的非线性影响;检测两幅图像像素点的区别。
代码示例:
I=imread(‘C:\Users\Administrator\Desktop\Fm.jpg‘);
J=imread(‘C:\Users\Administrator\Desktop\Background.jpg‘);
subplot(2,3,1);imshow(I);title(‘Girl‘);
subplot(2,3,2);imshow(J);title(‘Background‘);
subplot(2,3,3);imshow(I+J);title(‘I+J‘);
subplot(2,3,4);imshow(I-J);title(‘I-J‘);
subplot(2,3,5);imshow(I.*J);title(‘I*J‘);
subplot(2,3,6);imshow(I./J);title(‘I/J‘);
效果图如下:
1_Matlab实现图像显示及其代数操作