我的图像周围有一个黑色区域,我想使用OpenCV C ++创建一个遮罩,只选择这个黑色区域,以便我可以在以后绘制它。如何在不影响图像的情况下做到这一点?
我尝试将图像转换为灰度,然后使用阈值将其转换为二进制,但它会影响我的图像,因为结果包含图像内部的黑色像素。
另一个问题:如果我想裁剪图像而不是画它,我该怎么办?
提前致谢,
答案 0 :(得分:2)
我会解决这个问题:
cv::findContours
查找白段cv::drawContours
将剩余的部分绘制为遮罩。在运行时效率方面可能有一个更有效的解决方案,但您应该能够很快地对我的解决方案进行原型设计。