求分享Matlab实现灰度图像转换成RGB图像的代码

求分享Matlab实现灰度图像转换成RGB图像的代码

gray=kr+mg+pb,(k,m,p)为系数在转成灰度图的时候丢失了,所以不能百分百还原成为原来的彩色图片,只能是伪彩色图片。你可以试试看下opencv的系数正不正确

Gray(i,j)=0.299*R(i,j)+0.587*G(i,j)+0.144*B(i,j)

%%a,b,c的值自己浹把,根据公式倒推下
function rgbimg = gray2rgb(img)
[rows,cols]=size(img);
 r=zeros(rows,cols);
 g=zeros(rows,cols);
 b=zeros(rows,cols);
 r=double(img)*a;
 g=double(img)*b;
 b=double(img)*c;
 rgbimg=cat(3,r,g,b);
end