matlab 图像读取长宽_matlab图像处理的基本功能

本文介绍了MATLAB中处理图像的基本步骤,包括使用imread()和imshow()读取与显示图像,如何进行强制类型转换以避免数值溢出,以及如何使用rgb2gray()将彩色图像转换为灰度图像。此外,还讲解了通过subplot()函数绘制子图以方便对比展示处理结果。
摘要由CSDN通过智能技术生成

一、读取、显示图片

matlab自带的imread()和imshow()函数可以读取和显示图像,读入的图像数据类型为uint8的数组成的矩阵。

例如:

img = imread('test.png');
imshow(img);

这条语句的作用就是先将'test.png'这一图像读取并保存在img这一变量中,再把img里存的内容显示出来。

二、强制类型转换

在利用matlab做图像处理时经常会出现这样的情况:程序逻辑上没有任何问题,但是处理结果就是不对,出现这种情况通常是因为数值溢出。由于使用imread()读取的图片格式是uint8格式,也就意味着矩阵中每个元素的值是不超过256的整数,如果在运算过程中超过256就会溢出导致出错。遇到这种情况就需要对读取的图片进行强制类型转换。

img = imread('test.png');
img = double(img);%将数据类型转为double
%这里对图像进行一些处理
img = img + 256;
img = img - 256;
%这里这样操作是没有意义的,仅仅是为了方便举例子
%具体的处理方式之后会提到
img = uint8(img);%将数据类型转为uint8
imshow(img);

这里需要注意的是:imshow()同样也只能显示uint8类型数据,因此在显示图像之前需要将其转为uint8格式。

三、彩色转为灰度

在进行图像处理时,尤其是刚刚入门时,我们通常不需要对彩色图像进行操作,那么我们在读取图像后第一步要做的就是把彩色图像转为灰度。matlab中rgb2gray()函数提供了这一功能。

img = imread('test.png');
img = rgb2gray(img);%将彩色图像转为灰度图
imshow(img);

四、子图的绘制

在处理完图像之后我们需要将它显示出来,只有一张结果的图片不太方便我们进行对比,用matlab提供的subplot()函数画两张子图就可以解决这个问题。

img = imread('test.png');
img = rgb2gray(img);
subplot(2,1,1)%画第一张子图,这里的参数分别表示子图行数、子图列数、第几张子图
imshow(img);
title('原图像');%加上子图的标题
img = double(img);
%这里对图像进行一些处理
img = uint8(img);
subplot(2,1,2)%画第二张子图
imshow(img);
title('处理后的图像');

今天关于matlab数字图像处理的基础内容就是这些,喜欢的话点个赞吧

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值