rjps.net
当前位置:首页 >> 如何用MATLAB把Bmp格式变成灰度图像? >>

如何用MATLAB把Bmp格式变成灰度图像?

用a=imread('图片文件名')读入图像如果图片不在当前工作文件夹,需要输入完整的路径和文件名通常返回的变量a多数是一个3维的uint8类型的矩阵,每一维分辨存放图像的r,g,b颜色的数据需要得到图像的灰度,还需要将rgb数据转换为灰度b=rgb2gray(a);

bmp的图像是彩色的,也就是说有rgb三个波段,读出的图像数据是一个m*n*3的数组,如果想把它变成灰度图像的,只要分离出任意rgb中的一个分量即可,例如你的图像是1.bmp, x=imread('1.bmp');imshow(x); y=x(:,:,1); imshow(y);就可以了,不知道你是想怎样把图像变成灰度的,如果三个分量都想要的话,做个计算也可以的,例如把rgb做个平均;y=1/3*x(:,:,1)+1/3*x(:,:,2)+1/3*x(:,:,3);imshow(y);

1、打开图片:在主界面上输入命令将图像转换为数据;Data = imread('folder icon.bmp').2、查看数据:双击工作区中的数据,我们可以看到图像数据的具体信息.3、验证图像结果:输入命令,我们可以看到数据数据是图片所代表的;Imshow(数据).4、灰度说明:我们可以通过输入指令获得灰度后的矩阵; GDATA = rgb2gray(数据).5、查看灰色矩阵:双击,右边的工作区,gdata,可以看到数据的具体信息.6、显示灰度图像:如下图所示,可以看到图片后的灰度.

用imwrite函数,使用方法见下面链接

因为数据类型,你需要在第二行加上m= double(m); 我看你要做的应该是标准化,更简单的办法是 m = imread('lena.bmp'); nm = im2double(m); 就做好了.

以前用matlab做过对图片和音频以及视频的水印算法研究,所以有一些了解.你也知道灰度图是用不同等级的灰度来显示整个图像,儿二值黑白图像里面只存在黑白两色,使用matlab对现有图像进行处理的时候,如果对象是一个彩色图像,将会

灰度图像的值在0到1之间,转换过去在imshow即可显示,保存用imwrite.比如你哪个矩阵是A,在matlab里输入imwrite((A+1)/2,'a.bmp')即可

用a=imread('图片文件名')读入图像 如果图片不在当前工作文件夹,需要输入完整的路径和文件名 通常返回的变量a多数是一个3维的uint8类型的矩阵, 每一维分辨存放图像的r,g,b颜色的数据 需要得到图像的灰度,还需要将rgb数据转换为灰度 b=rgb2gray(a);

I=imread('a.jpg');G=rgb2gray(I);imshow(G)再看看别人怎么说的.

生成还是显示?生成:直接建一个二维数组,赋予0-255值就可以了.显示imagesc(img);colormap(gray)

网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com