MATLAB(七)影像处理(1)

前言

此篇文章是我在B站学习时所做的笔记,主要讲数字图像概论、阅读并显示图像、图像算术,部分为亲自动手演示过的,方便复习用。此篇文章仅供学习参考。


提示:以下是本篇文章正文内容,下面案例可供参考

数码影像的种类

该图片很好的包含了平坦区域,阴影,纹理等细节,这些都有益于测试各种不同的图像处理算法。

  1. 二进制 Binary:每个像素只是黑色或白色
  2. 灰度(灰阶)Binary:每个像素是一个灰色的阴影,通常从0(黑色)到255(白色)
  3. 真颜色或RGB:每个像素都有一个特定的颜色,由其中的红色、绿色和蓝色的数量来描述
    在这里插入图片描述

为什么是RGB?

人眼中的三种感光细胞(即视锥细胞)对红色、绿色和蓝色的反应最大

在这里插入图片描述

典型的RGB图像

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

阅读并显示图像

  • 读取图像:imread()
  • 显示图像:imshow ()
>> clear, close all
I = imread('pout.tif'); %read
imshow(I); %show
>> whos
  Name        Size             Bytes  Class    Attributes

  I         291x240            69840  uint8   

在这里插入图片描述

工作区中的图像变量

在这里插入图片描述

图像信息: imtool(‘pout.tif’)

在这里插入图片描述

图像查看器:imtool(‘pout.tif’)

在图像查看器中获取像素信息在这里插入图片描述

图像处理

以图像为输入的任何一种信号处理形式
在这里插入图片描述

图像四则运算

imabsdiff两个图像的绝对差异
imadd添加两个图像或添加常量到图像
imapplymatrix颜色通道的线性组合
imcomplement补充图片
imdivide将一个图像分割成另一个图像或将图像除以常数
imlincomb图象线性组合
immultiply将两个图像相乘或将图像乘以常数
imsubtract从一个图像减去另一个图像或从图像减去常数

图像放大:immultiply()

unit8本身就是0-255的数值范围,如果乘的数值超过255就成了255,从影像角度就是被裁切成白场了,比如说这次乘的1.5就不会超过范围。

增加图像亮度

>> I=imread('rice.png'); 
subplot(1,2,1); imshow(I);
J=immultiply(I, 1.5);
subplot(1,2,2); imshow(J);

在这里插入图片描述

降低图像的亮度

方法一:

I=imread('rice.png'); 
subplot(1,2,1); imshow(I);
J=immultiply(I, 0.5);
subplot(1,2,2); imshow(J);

在这里插入图片描述
方法二:

I=imread('rice.png');subplot(1,2,1);imshow(I)
H=I.*0.66; subplot(1,2,2); imshow(H);

在这里插入图片描述
方法三:

k=imread('rice.png');
subplot(1,2,1); imshow(k)
I=imread('rice.png');
subplot(1,2,2); 
for i=1:size(I,1);
    for j=1:size(I,2);
        I(i,j)=I(i,j)-50;
    end
end
imshow(I)

在这里插入图片描述
方法四:

I=imread('rice.png');
K=imdivide(I,1.5);
imshow(K)

在这里插入图片描述
方法五:

I=imread('rice.png'); 
subplot(1,2,1); imshow(I);
K=imread('rice.png'); 
subplot(1,2,2); imshow(K-50);

在这里插入图片描述

图片添加:imadd()

注意:要求图片的大小必须一致。
结果:叠加后的图片像素会更大,像素上升后,越接近255就越亮,所以把影像相加,不管怎么加,它都会比以前亮。

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);

在这里插入图片描述

图像直方图:imhist()

I=imread('pout.tif');
imhist(I)

在这里插入图片描述

直方图均衡化:histeq()

增强图像的对比度:

I = imread('pout.tif'); I2 = histeq(I);
subplot(1,4,1); imhist(I);
subplot(1,4,2); imshow(I);
subplot(1,4,3); imshow(I2);
subplot(1,4,4); imhist(I2);

在这里插入图片描述

几何变换矩阵(2D)

执行图像处理、可视化和分析
在这里插入图片描述

图像旋转:imrotate()

旋转后,图片的大小会改变,新的图片边界会比旧的大,新的图片的矩阵比较大。

I = imread('rice.png'); subplot(1,2,1); 
imshow(I); J = imrotate(I, 35, 'bilinear'); 
subplot(1,2,2); imshow(J);
size(I)
size(J)

在这里插入图片描述

写图片:imwrite()

格式支持:‘bmp’、‘gif’、‘hdf’、‘jpg’、‘jpeg’、‘jp2’、‘jpx’、‘pcx’、‘pnm’、‘ppm’、‘ras’、‘tif’、‘tiff’、‘xwd’。

imwrite(I, 'pout2.png');

在这里插入图片描述


如若侵权,请及时与我联系。
此篇文章仅供学习参考,禁止转载!

  • 19
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛_Chenpangzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值