首页 > 解决方案 > 是否可以获得图像的红外 NIR 波段/通道?(就像我们得到图像的 RGB 通道一样)

问题描述

这是从图像中获取 RGB 通道的代码。

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
    Mat img = imread("aaa.png");
    namedWindow("image", WINDOW_NORMAL);
    imshow("image", img);

    Mat bgr[3];   //destination array
    split(img, bgr);//split source  

    //Note: OpenCV uses BGR color order
    imwrite("blue.png", bgr[0]); //blue channel
    imwrite("green.png", bgr[1]); //green channel
    imwrite("red.png", bgr[2]); //red channel
    waitKey(0);
    return 0;
}

我们可以从图像中获取 NIR 通道/波段吗?

标签: pythonc++image

解决方案


典型的 RGB 相机只采集 RGB 数据——没有直接采集 NIR。您需要一台 NIR 相机,然后它通常会生成由 NIR 采样图像组成的单通道“灰度”图像。

典型的 CCD 和 CMOS 相机通常对红外光自然敏感,因此,它们可能具有红外截止滤光片,可阻止红外光在成像传感器上被感应到以减少失真,但并非总是如此。

如果你有更多关于你的相机的信息,我很想和你一起看看,看看它有什么规格。


推荐阅读