如何用OpenCV检测红外光

时间:2012-10-27 15:26:23

标签: opencv filter camera light infrared

我正在尝试使用OpenCV使用内置相机检测IR点。我的相机可以看到红外线。但是,我不知道如何区分可见光和红外光。 转换为RGB后我们无法区分,但也许OpenCV有一些方法可以做到。

有人知道这样的OpenCV功能吗?或者如何以其他方式做到这一点?

- 修改

是否可以使用笔记本电脑内置摄像头识别光波长?或者,如果不使用特殊相机,就无法区分可见光和红外光?

3 个答案:

答案 0 :(得分:2)

你无法在OpenCV中做任何事情,因为当它开始工作时,它只会是另一种RGB,就像可见光一样(你提到这一点)。

你说你的相机可以看到红外线......这是否意味着它有一个过滤器可以将红外光与可见光分开?在这种情况下,当您在OpenCV中拥有图像时,您将只关注IR。然后看看强度等?

答案 1 :(得分:0)

在您的设置中,假设您有RGB + IR相机,可能您的相机将显示以下三个通道:

  • R + IR
  • G + IR
  • B + IR

因此很难直接从图像中识别红外像素。但没有什么不可能。 R,G,B和IR是宽带,因此所有波长的信息都在通道中。

您可以做的一件事是训练分类模型,对具有预定类别的大量图像数据的图像中的非红外和红外像素进行分类。通过训练该模型,您可以识别新图像的红外像素。

答案 2 :(得分:0)

无法通过软件将红外线与可见光区分开,因为您的相机实际上会“转换”红外线以进入您的眼睛可见光。 我认为解决问题的唯一方法是使用2个摄像头,一个带红外发射滤光片的红外摄像头和一个带红外阻挡滤光片的普通摄像头。然后,您可以匹配图像并提取所需的信息。