rgb图像按指定的公式 r=255R/(R+G+B) 转成灰度图,求大神教我写出这个matlab程序啊。

如题所述

IM=imread('a.jpg');
[M,N,~]=size(IM);
R=IM(:,:,1);
G=IM(:,:,2);
B=IM(:,:,3);
r=255*R./(R+B+G);
imshow(r)追问

大哥,你能教我写出下面的问题吗。 必有重谢!
(2)二值化(自己写)
(3)膨胀和腐蚀
(4)轮廓提取(用4方向的链码)

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab里面灰度图与RGB转化的问题
用r,g,b分量进行亮度计算,由rgb到yuv(ycbcr)的进行转换,计算y的公式就是了,因为ycbcr空间中,y分量就是原图的灰度拷贝 |Y| | 0.299 0.587 0.114 | |R| | I| = | 0.596 -0.274 -0.322 | |G| |Q| | 0.211 -0.523 0.312 | |B|,colormap(gray)是以一个固定...

VB求灰度图转二值化,或者有直接二值化的代码
bitsBW(1, ix, iy) = 255 bitsBW(2, ix, iy) = 255 End If Next Next '将灰度图显示到picture2中

如何用MATLAB把bmp格式变成灰度图像
\\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);...

matlab 有没有这样的函数:返回RGB图像中指定颜色的的像素点的位置?
所要查找的红色点的r, g, b值 r_value = 255;g_value = 0;b_value = 0;image 的r, g, b三个分量图像 r = img(:, :, 1):g = img(:, :, 2);b = img(:, :, 3);标示出图像image中红色点的位置为1,其它点为0,结果存放在index中 index_r = (r == r_value);index_...

rgb转gray公式会超过255
rgb转gray公式是会超过255的,对于彩色转灰度,有一个很著名的心理学公式:Gray = R*0.299 + G*0.587 + B*0.114,RGB转换成灰度图像的一个常用公式是: Gray = R*0.299 + G*0.587 + B*0.114 \/\/灰度转换函数*。

将一幅彩色图像转化为灰度图象,nGray=x*R+y*G+z*B,此公式中的x y z如...
其实灰度图像就是将R,G,B分量映射到R,G,B立方体的对角线上,由此而得出的公式 gray=0.299*r+0.587*g+0.114*b 换算为整数是(9798.0*r+19238.0*g+3728.0*b)\/32768.0

知道一幅RGB图像,在matlab想把每个R,G,B的值作为三维坐标x,y,z,在三 ...
ori = imread('rgb.jpg');%读入RGB图像 Pts = [];for row = 1:size(ori,1)for col = 1:size(ori,2)Pts = [Pts; ori(row,col,1) ori(row,col,2) ori(row,col,3)];end end figure,plot3(Pts(:,1),Pts(:,2),Pts(:,3))%在三维坐标系中绘制每个像素点 ...

用matlab把一张彩色图片切割成4小份,程序怎么写?rgb图片是3维数组,第...
第三维是指r、g、b,其实就是一个数组把R通道的图像数据,G的图像数据、B的图像数据给放在一起,就相当于你那三张大小相同图片叠在一起,叠的过程中不就多了一维吗?分割的时候,就是对这个三维数组的空间维分割,即对R、G、B通道矩阵的行和列就取值范围划分就行了,不知是否讲明白了?

基于FPGA的图像RGB转CIE-Lab实现,包含testbench和MATLAB辅助验证...
RGB转CIE-Lab的转换过程分为两个步骤:首先将RGB颜色空间转换为XYZ颜色空间,然后将XYZ颜色空间转换为CIE-Lab颜色空间。具体转换公式如下:RGB转XYZ:X = 0.4124R + 0.3576G + 0.1805B Y = 0.2126R + 0.7152G + 0.0722B Z = 0.0193R + 0.1192G + 0.9505B XYZ转CIE-Lab:L* =...

用matlab做图像的灰度变换,指令I=rgb2gray(A)执行的时候总是报错,用的...
。使用 [A, map] = imread(...),A不同位置的数值在map里对应的颜色分量才是该位置的真实颜色。对于这样的A,做灰度变换只要对map做变换就行了,如matlab里的例子:[X,map] = imread('trees.tif');gmap = rgb2gray(map);figure, imshow(X,map), figure, imshow(X,gmap);...

相似回答
大家正在搜