如何用MATLAB把bmp格式变成灰度图像
8个回答
2022-12-07 · 百度认证:IT168官方账号,优质数码领域创作者
关注
展开全部
楼上回答正确,其实还可用更为简单的方法,此为图像处理中的基础,举简例说明。\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
展开全部
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);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可将你要转换的图像读入到一个矩阵中,然后采用mat2gray函数将此数据矩阵转换为灰度图像。
如:
BMP=imread('图像名.bmp');
K=filter2(fspecial('Sobel'),BMP);
I=mat2gray(K);
imshow(BMP);
figure,imshow(I);
如:
BMP=imread('图像名.bmp');
K=filter2(fspecial('Sobel'),BMP);
I=mat2gray(K);
imshow(BMP);
figure,imshow(I);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
么叫灰度图?任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询