假设我有一系列红外图片,任务是将人体与图片中的其他物体隔离开来。问题是其他相对热的物体发出的噪音,比如灯和它们的“热”窗帘。
简单的阈值方法,如二值化和/或最大类间方差,在困难(噪声)的图片上不能得到很好的结果,所以我决定手动进行。
Here are some samples
结果并不可怕,但我认为它们可以改进。这里我简单地通过HSV的色调值选择像素。或多或少,热点像素位于此区域:色调< 50,色调> 300。这里我主要担心的是这些粉红色像素,它们有时是灯的噪音,但有时是人体的一部分,所以我不能简单地丢弃它们而不对结果造成重大损害:例如,在左边的图片上,这将“摧毁”左手的一半,以此类推。作为最后的手段,我可以使用一些强大的过滤和侵蚀,但我仍然相信有一种方法告诉OpenCV:嘿,我不需要这些粉色区域,除非它们是大型热星团的一部分。有什么想法,关键词,技巧,好文章吗?提前感谢
发布于 2016-01-17 23:21:46
FIR数据可能与温度成单调比例(如果不是线性的),这应该会产生灰度图像。
您的示例使用颜色映射进行着色-颜色仅传达实际信息的单个通道。如果您可以直接在灰度图像上工作(也许可以将图像重新映射到灰度图像),这将是最好的。
然后,看看是否可以将图像线性化到实际的温度范围,以便像素值表示温度。一旦你做到这一点,你应该能够将你的图像夹在你希望一个人出现的温度范围内。查看相机/成像仪的数据表,了解转换公式。
https://stackoverflow.com/questions/34838288
复制相似问题