一、Introduction to digital image
- 影像不等于事物本身,往往是经过光电元件获取的
- 影像一般分为三种:色彩(Color)、灰阶(Gray Scale)、二元(Binary)(黑白)
- Binary 图像只需要0/1表达黑/白;Gratscake image则每个点需要一个字节(0~255)来表达,数字越大越亮;Clolr Image则由三原色(RGB)各自的图一共三张图加在一起表示。
二、Read and show images
1. read&show:imread()&imshow()
- Read an image() :imread()
- Show an image():imshow()
Example
>> I=imread('test.jpg');
>> imshow(I);
三个1620*1080的矩阵组成的矩阵
所以影像处理其实就是在处理矩阵
如:
>> for(i=1:size(I,1))
for(j=1:size(I,2))
for(k=1:size(I,3))
I(i,j,k)=I(i,j,k)/2;
end
end
end
>> imshow(I)
将图片变暗
-------------变成了↓----------------
2. image Info:imageinfo()
imageinfo(‘mm.png’)
3. Image Viewer:imtool()
可查看每个点的值
三、Image Processing
1. image arthmetic
2. Image Multiplication:immultiply()
可用于使图片变亮
>> J=immultiply(I,2);
>> subplot(1,2,2);imshow(J);
>> subplot(1,2,1);imshow(I)
3. Image Addition:imadd()
叠加,需要图片长宽相同
在这里插入代码片
I=imread('rice.png');
J=imread('cameraman.tif'); K=imadd(I,J);
subplot(1,3,1); imshow(I);
subplot(1,3,2); imshow(K);
subplot(1,3,3); imshow(J);
因为某一点的数值如果相加结果大于255时就只能是255,所以两张图片相加可能会饱和,也就是某些地方显示白色
4. Image Histogram:imhist()
This MATLAB function calculates the histogram for the grayscale image I.
(计算I的灰度图像I的直方图。)
5. Histogram Equalization:histeq()
将灰度直方图的分布拉大
>> I2=histeq(I);
>> subplot(1,4,1);imhist(I);
>> subplot(1,4,2);imshow(I);
>> subplot(1,4,3);imhist(I2);
>> subplot(1,4,4);imshow(I2);
6. Geometric Transformation
改变位置,一般通过矩阵变换,矩阵变换可以看一下线性代数
7. Image Rotation:imrotate()
This MATLAB function rotates image I by angle degrees in a counterclockwise
direction around its center point.
*
J = imrotate(I,angle)
J = imrotate(I,angle,method)
J = imrotate(I,angle,method,bbox)
Example
>> J=imrotate(I,35);
>> imshow(J)
这个函数可能会导致图像大小变化↑
也可以用矩阵来实现旋转
四、Write Image:imwrite()
转载:https://blog.csdn.net/weixin_45941945/article/details/116274919
查看评论