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

 我来答
IT168
2022-12-07 · 百度认证:IT168官方账号,优质数码领域创作者
IT168
IT168是中国最大的个人和企业IT产品选购、互动网站,每日提供最新的IT产品报价、促销行情、手机、平板、笔记本、相机和企业等50个频道提供最专业的产品选购和使用建议。
向TA提问
展开全部
楼上回答正确,其实还可用更为简单的方法,此为图像处理中的基础,举简例说明。\x0d\x0a假设你需将名为face1.bmp的彩色图转换为face2.bmp的灰度图,代码如下:\x0d\x0aimageName=strcat('face1.bmp');%获取图像名称\x0d\x0aI=imread(imageName);%读取彩色图像\x0d\x0aJ=rgb2gray(I);%转换为灰度图\x0d\x0afigure(1);%窗口显示灰度图\x0d\x0aimshow(J);\x0d\x0afname=strcat('face2.bmp');\x0d\x0aimwrite(J,fname);%保存为BMP格式的灰度图face2
hechaomk
推荐于2017-11-28 · TA获得超过183个赞
知道答主
回答量:47
采纳率:0%
帮助的人:44.1万
展开全部
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);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lpoplar1981
推荐于2018-11-14
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
楼上回答正确,其实还可用更为简单的方法,此为图像处理中的基础,举简例说明。
假设你需将名为face1.bmp的彩色图转换为face2.bmp的灰度图,代码如下:
imageName=strcat('face1.bmp');%获取图像名称
I= imread(imageName); %读取彩色图像
J=rgb2gray(I); %转换为灰度图
figure(1); %窗口显示灰度图
imshow(J);
fname=strcat('face2.bmp');
imwrite(J,fname); %保存为BMP格式的灰度图face2
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoyuer7823
2013-03-13
知道答主
回答量:2
采纳率:0%
帮助的人:2.7万
展开全部
可将你要转换的图像读入到一个矩阵中,然后采用mat2gray函数将此数据矩阵转换为灰度图像。
如:
BMP=imread('图像名.bmp');
K=filter2(fspecial('Sobel'),BMP);
I=mat2gray(K);
imshow(BMP);
figure,imshow(I);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tjy928
2012-07-14
知道答主
回答量:12
采纳率:0%
帮助的人:3.9万
展开全部
么叫灰度图?任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
1.浮点算法:Gray=R*0.3+G*0.59+B*0.11
2.整数方法:Gray=(R*30+G*59+B*11)/100
3.移位方法:Gray =(R*28+G*151+B*77)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式