如何在OpenCV上转换不同的颜色映射?

时间:2017-06-07 10:24:04

标签: python opencv

我有一组用不同类型的彩色地图编码的热图像。

我想使用恒定的颜色映射来简化故障智能。 请指导我如何解决这个问题。

2 个答案:

答案 0 :(得分:4)

我认为它比评论中建议的要复杂一点,因为你处理温度问题。您需要将颜色映射还原为温度值图像,然后将一个颜色映射应用于您喜欢的OpenCV。

回到灰度并不像将图像从BGR转换为灰度那么简单,因为你有深红色这样的颜色可能会被映射为深灰色和深蓝色,但是它们完全相反。规模。

你的两个图像也是不同的比例(温度方面),因此,如果你将它们传递回灰度,黑色与另一个图像的温度不同,所以不可能直接比较它们。

要获得适当的比例值,您可以尝试获取上部矩形(显示比例的那个)并将它们分成相等的部分,并将温度范围除以相同的分割数。这将为您提供每种温度的颜色。然后将两个图像转换为cv::Mat加倍,每个像素将具有温度值。

最后,您必须确定您的温度范围,以确定所有图像的颜色。例如,您可以选择25-45。然后使用您选择的范围将图像标准化为温度(具有双倍的图像)并将其标准化为灰度图像(0将为25和255将为45)并将颜色贴图应用于此图像。

我希望这会有所帮助。

答案 1 :(得分:0)

您可以将cvtcolor用于HSV,然后手动更改Hue。更改色调后,您可以将颜色恢复为rbg。