我需要将热像图转换为灰度图以使用matlab检测温度变化。RGB图像到热像图的灰度转换
我试图使用内置函数rgb2gray()
,但它对我的图像数据库效率不高,所以我尝试使用颜色和温度之间的相关性然后对其进行插值来计算公式,但随后可能会得到高效的数学公式?
我的公式:
I = 0.29 * rgb_img(:,:,1)+ 0.59 * rgb_img(:,:,2)+ 0.11 * rgb_img(:,:,3);
和
I = 0.6889 * rgb_img(:,:,1)。+ 5211 * rgb_img(:,:,2)+ 4449 * rgb_img。(:,:,3)+ 72.8;
但这两个都没有帮助。
样本图像是:
这个怎么样 - [在没有rgb2gray的情况下在MATLAB中将彩色图像转换为灰度图像(http://stackoverflow.com/questions/22007612/convert-a-color-image-to-grayscale-in-matlab-without -rgb2gray)? – Divakar 2014-11-08 09:46:31
这些灰度图像应用了色彩图来生成显示的图像,但是您需要回到灰度图像吗?在颜色映射之前您是否无法访问原始数据?否则,你需要构建一个反向查找表,从颜色 - >温度值开始,然后参考每个像素。由于色彩映射具有不连续的色调步骤,因此直接的公式将不起作用。 – Staus 2014-11-08 12:48:35