我是否可以使用 openCV C++从带有红外滤光片的相机捕获的图像中计算 NDVI

Can I calculate NDVI with openCV C++ from an image captured from camera with IR filter

本文关键字:相机 NDVI 计算 图像 openCV 可以使 是否 C++      更新时间:2023-10-16

我有一个用红外滤光片拍摄的相机拍摄的图像,我想用openCV从该图像中获取NDVI索引,但我不知道该怎么做,有人可以帮助我吗?我知道函数NDVI = (NIR-R(/(NIR + R(,但我无法弄清楚如何从该图像中获取NIR值。

我写了一个Python脚本:

#assuming we have image named frame
b, g, r = cv2.split(frame)
numerator = cv2.addWeighted(b, 1, r, 1, 0)
denominator = cv2.addWeighted(b, 1, r, -1, 0)
ndvi = cv2.divide(numerator, denominator)

此脚本创建单色 ndvi 图像。

我敢打赌你可能会在C++做类似的事情