opencv有一系列函数支持掩膜处理,即函数只对掩膜值为255的像素点进行操作,从而实现对图像某个区域的处理。
但有一个缺点是,掩膜都是矩形的,有时候希望是别的几何图形甚至是不规则图形。例如一个旋转的矩形掩膜和圆
如何实现矩形以外的掩膜呢?
首先,在处理图像的时候,ROI依然取的是一个矩形,因为这样最方便。我们要做的就是改变矩形内部的掩膜值,使所需形状的地方为255,别的地方为0,具体做法是:
1、遍历矩形
2、通过一些准则判断矩形上的点是否属于所需形状。如旋转矩形,可以判断点到直线的距离;圆可以判断点到圆心的距离;对于不规则图形,可以通过找轮廓……