我想拍摄视频并从中创建一个二进制文件,因此如果像素在某个范围内,它将包含在二进制文件中。换句话说,我想要像inRange()函数中的上下边界,而不是像threshold()函数中的简单截止点。

我还想使用自适应阈值来解决视频中的光照差异。有没有办法做到这一点?我知道前者有inRange(),后者有adaptiveThreshold(),但我不知道是否有两种方法都可以。

最佳答案

将adaptiveThreshold()应用于整个原始图像,然后将inRange()应用于原始图像,并使用inRange()的结果作为蒙版:

adaptiveThreshold(original_image, dst_image ... );
inRange(original_image, minArray, maxArray, mask);
Mat output = dst_image.mul(mask);

08-25 11:26