Matlab:将投影校正应用于图像子集

时间:2014-06-12 07:54:32

标签: matlab image-processing transformation

在我发布here的问题之后,我需要对给定4分的图像应用投影变换。

说我成功地从图像中分割了QR码:

segmented QR code

我存储了QR顶点坐标的点阵列。在这种情况下,我只需要一个旋转,以获得校正后的图像,但在这里:

another segmented QR code

我需要对图像应用投影校正。

有没有办法让这些变换知道所述顶点的坐标?

修改 我使用@ Xiang的建议并使用图像的HSV组件来解决它。

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,你就有4个角点,你想知道在变换后的图像中将它们映射到哪个坐标。嗯,这取决于你。你知道这是一个正方形,所以只需选择一个任意高度或根据原始图像中的某些测量值计算并生成坐标:

(0,0)
(0, size)
(size, 0)
(size, size)

现在,您可以使用maketform计算变换并将其应用于原始图像。

来自Matlab docs http://www.mathworks.com/help/images/ref/maketform.html

  

T = maketform('投射',U,X)

要应用转换,请使用imtransform并设置字段UDataVDataXDataYData以指定源坐标系和新采样您希望转换为的坐标。