求分享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