matlab imread函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab imread函数相关的知识,希望对你有一定的参考价值。
我的matlab是7.0的,我现在想读一幅bmp图片,语句如下:
I=imread('1.bmp','bmp');其中,图片就直接放在mailab的work文件夹中。我以前的时候都是直接打开jpg文件的,从来没有出现过语法错误。但是在打开bmp文件时就出现语法错误。后来,我用试了I=imread('1.bmp')仍然有语法错误,为什么,该怎样才能打开bmp文件呢?
错误提示如图所示。
=
I(
:,
:,
1)表示只取了原始图像的R通道来处理,下面的循环中也只是对rimage进行处理要想得到彩色图像,需要将G和B通道也做同样处理,之后再将三个通道滤波结果合并。
获取G通道的语句为
gimage
=
I(
:,
:,
2),
B通道为
bimage
=
I(:,:,3)
合成语句为
J
=
I;
J(
:,
:,
1
)
=
rimage,
J(:,:,2)
=
gimage;
J(:,:,3)
=
bimage;
是啊,每个通道取出来后都是一个灰度图像,rimage(i,j)当然只是灰度值了 参考技术B 是你的路径没有调好吧?你的把你要读的图片的路径在matlab中选好!
>> i=imread('0515jd.bmp');
>> imshow(i)
>> 我的就可以!就是路径吧!追问
我把图片保存在matlab的work文件夹中了,这个路径应该是最保险的。。。。
追答如果你的实在是不能打开的话,你最好就是把bmp的转换成jpg的。
本回答被提问者和网友采纳 参考技术C 不写路径的话,默认路径是在当前工作目录,一般是C盘我的文档MATLAB文件夹 参考技术D 你确定你的文件名是1吗?你的语句没有问题,所以我想只能是文件名错了把 第5个回答 2011-03-22 你把错误帖出来吧,一般情况不会出错的MATLAB中图像的基本操作
MATLAB中图像的基本操作
1、读取、显示图片
MATLAB中提供了immread()与imshow()函数读取和显示图片。其中读取函数imread()原型:
imread:
A = imread(filename, fmt)
A是结构体名,用来存储读入的图像数据。filename是读取的文件名,文件名要用”括起来。fmt是读取文件的类型如:jpg、png等等,这个参数可以不输入,由MATLAB自动判断。
显示函数imshow()原型:
imshow:
imshow(I)
I为读取后保存在MATLAB中的结构体名。
程序实例:
A=imread(‘1.jpg‘);%读取名为1.jpg的图片 imshow(A)%显示图片
2、将灰度图片变成负片
对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[0~255]之间的像素点组成的图像,255表示白色,0表示黑色,黑白之间存在256个灰度级。
负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0。MALTAB的imadjust()函数提供了该功能。其函数原型:
imadjust:
J = imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。
若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。
实例:
A=imread(‘1.jpg‘); imshow(A)%显示原图 A1=imadjust(A,[0,1],[1,0]);%将灰度级对调 figure,imshow(A1)%显示负片
3、彩色图片转换成灰度图片
我们在计算机中看到的大多数彩色图片是基于RBG三通道的图片,红绿蓝三种颜色,每一种取值均为[0~255]。通过255*255*255,可以构成庞大的颜色群。而灰度图像只有256个灰度级。通过以下公式可以将RGB转换成灰度
GRAY=0.2989 R + 0.5870 * G + 0.1140 * B*
MATLAB中提供的函数rgb2gray为我们提供了将彩色图片转换成灰度图片的功能。函数原型:
I = rgb2gray(RGB)
- 1
实例:
A=imread(‘001.png‘);%原彩色图片 imshow(A) A_gray=rgb2gray(A);%转换成灰度图片 figure,imshow(A_gray)
以上是关于matlab imread函数的主要内容,如果未能解决你的问题,请参考以下文章
给我一个实例,Matlab中用imread函数读取一个图像,求详细步骤