matlab图像操作(一)

读取图片

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,且你可以更改图片格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值