读取图片
imshow('E:\hh.bmp')
impixelregion
上述语句可查看图片的像素值
下列语句同样可以查看像素值
imageViewer('E:\hh.bmp')
将图片放大到足够大后,会自动显示出图片信息
对彩色图片进行操作
rgb_image=imread('E:\hh.bmp');%读取图片
subplot(121)
imshow(rgb_image)
fR=rgb_image(:, :, 1);%读取红色分量
fG=rgb_image(:, :, 2);%读取绿色分量
fB=rgb_image(:, :, 3);%读取蓝色分量
[m,n]=size(fR);
for i=1:m
for j=1:n
fR(i,j)=0;
end
end
rgb=cat(3,fR,fG,fB);
subplot(122)
imshow(rgb)
将图片的红色分量删除,全设置为0
具体可参考这篇文章:Matlab图像处理——RGB分量提取、变换、组合 - 知乎 (zhihu.com)
此外,还可以通过以下方法对彩色图的像素进行操作
将图像进行颜色反转
I=imread('E:\hh.bmp');
J=I;
s=size(I);
for i=1:s(1)
for j=1:s(2)
for k=1:s(3)
J(i,j,k)=255-I(i,j,k);
end
end
end
subplot(121)
imshow(I)
subplot(122)
imshow(J)
查看图片信息
imageinfo('E:\hh.bmp');
影像的运算
将图片变亮,则将图片的值乘以1.5
I=imread('E:\hh.bmp');
subplot(121)
imshow(I)
J=immultiply(I,1.5);
subplot(122)
imshow(J)
将两张图片叠加在一起
注意两张图片必须具有相同的大小
I=imread('E:\047-Blender入门教程\03.材质篇附件\m手绘.jpg');
J=imread('E:\047-Blender入门教程\03.材质篇附件\斑马纹2.jpg');
K=imadd(I,J);
subplot(131)
imshow(I)
subplot(132)
imshow(J)
subplot(133)
imshow(K)
图像的灰度统计图
I=imread('E:\hh.bmp');
subplot(121)
imshow(I)
subplot(122)
imhist(I)
图像变亮前后的灰度比较
提高图像对比度
深的地方更深,浅的地方更浅
I=imread('E:\hh.bmp');
subplot(141);imhist(I)
subplot(142);imshow(I)
subplot(143); J=histeq(I); imshow(J)
subplot(144);imhist(J)
图片的变换
移动
I=imread('E:\hh.bmp');
J = imtranslate(I,[25.3, -10.1],'FillValues',255,'OutputView','full');
figure
imshow(I)
figure
imshow(J)
旋转
I=imread('E:\hh.bmp');
J=imrotate(I,35);
subplot(121)
imshow(I)
subplot(122)
imshow(J)
此外还有缩放,shear等操作,具体请查看文档
图像储存
例如你已经将图像颜色反转,之后想要将其存储在硬盘上
则执行下列语句
imwrite(J,'E:\out.bmp');
存储在E盘,命名为out,且你可以更改图片格式