openCV透视转换并没有按预期工作

时间:2018-02-14 08:23:45

标签: python opencv image-processing homography

我有一张带文字的图片。 这是图像:  image with text

我尝试做的是使用透视变换来整理文本。

角落中的红点是检测到的边界。

这或多或少是我的代码(硬编码,为简单起见):

output.log

现在,我得到的结果是:

transformed image

为什么我没有得到一个漂亮,拉直的矩形?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

看看你的观点:

你有:

flights %>%
  group_by(year, month, day) %>%
  summarize(cancelled = sum(is.na(arr_delay))/n() , avg_delay = sum(arr_delay, na.rm = TRUE)/n()) %>%
  ggplot(mapping = aes(x = avg_delay, y = cancelled)) +
  geom_point(alpha=0.5) + 
  geom_smooth(se=FALSE)

old_pts=np.float32([[2,41],[37,965],[1389,1121],[1389,0]])

但是,OpenCV管理POINTS为(x,y)值,你的是(y,x)......我知道这很令人困惑,因为矩阵操作是用(y,x)表示法完成的......事实上,OpenCV将矩阵操作视为行和列,就像矩阵一样,但点被视为笛卡尔坐标......

总之,尝试翻转点的轴并检查结果。