仿射变换非图像的矩形部分

时间:2013-11-27 15:46:03

标签: opencv image-processing computer-vision affinetransform

我正在尝试创建仅为图像的某些部分(非矩形)应用仿射变换的应用程序。

http://s29.postimg.org/k45fwbmsn/Untitled.png

是否存在任何方式,仅转换图像的选定(可见)部分?

1 个答案:

答案 0 :(得分:1)

我确定你所描述的整体转型(仅在图像的一部分上)并不是仿射。因此,它不像将矩阵乘法应用于某些向量那么容易。

但是,当然,有一些方法可以定义检测黑色矩形的算法,并将仿射变换应用于检测到的矩形的坐标。使用变换后的坐标,您可以绘制新的四边形。注意:经过仿射变换后,它不再需要是矩形。

顺便说一下。你自相矛盾:

  

仅转换图像的某些部分(非矩形)。

VS

  

转换仅黑色矩形

我建议您澄清有关您的输入和预期输出的以下几点:

  • 你想要哪些矛盾的转换:只有矩形或除了矩形以外的一切?
  • 是二进制黑白,灰度还是彩色图像?这是一个简单到复杂输入的问题,对算法有很大的影响。
  • 图像是否无噪音,即它是真正的黑色还是各种非常暗的颜色?对于真正的黑色,您可以应用简单的启发式来检测矩形。如果是嘈杂的图像,则需要考虑图像滤镜/改进和色彩空间转换。
  • 矩形是图像中唯一的“黑色”区域吗?
  • 矩形是否与x轴和y轴平行?同样,这是简单的启发式与模式识别。
  • 是否知道矩形的数量?多个矩形是否相互关联(大小,比例,平行)?
  • 通过移动/收缩矩形在边界或图像部分上会发生什么?

当您在问题中提供所需信息时,我会编辑答案。