我有一张彩色图像,想在OpenCV中进行二值化处理。我希望的是,如果RGB通道中的任何一个通道低于某个值,将所有通道中的值设为零(即黑色)。
因此,我使用OpenCV的阈值函数:
cv::Mat frame, thresholded
// read frame somewhere, it is a BGR image.
cv::threshold(frame, thresholded, 5, 255, cv::THRESH_BINARY);
所以,我认为这样做的作用是,如果任何一个通道小于5,它会将它们设置为零。然而,它似乎并不起作用。例如,对于一些区域,我只能看到绿色通道,表明并非所有通道都被设置为0。
是否有一种快速使用OpenCV实现此目的的方法?