相关疑难解决方法(0)

自动透视校正OpenCV

我正在尝试在我的iOS程序中实现自动透视校正,当我使用我在教程中找到的测试图像时,一切都按预期工作.但是当我拍照时,我得到了一个奇怪的结果.

我正在使用本教程中的代码

当我给它一个看起来像这样的图像:

在此输入图像描述

我得到了这个结果:

在此输入图像描述

以下是dst给我带来帮助的原因.

在此输入图像描述

我用它来调用包含代码的方法.

quadSegmentation(Img, bw, dst, quad);

当我从教程中获得如此多的绿线时,有人能告诉我吗?我怎么能够解决这个问题并正确裁剪图像只包含卡?

c++ opencv ios

26
推荐指数
2
解决办法
3万
查看次数

图像因cv2.warpPerspective而失去质量

我正在使用OpenCV 3.1和Python.

当我试图用文本去校正(修正倾斜)图像时,我的问题出现了.我正在使用cv2.warpPerspective它,但图像失去了很多质量.你可以在这里看到图像的原始部分:

图像没有光滑

然后,在这里,"旋转"的图像:

图像与光滑

它就像平滑一样.

我正在使用形态转换,如:

kernel = np.ones((2, 2), np.uint8)
blur_image = cv2.erode(tresh, kernel, iterations=1)
Run Code Online (Sandbox Code Playgroud)

white_mask2 = cv2.morphologyEx(white_mask2, cv2.MORPH_OPEN, kernel)
Run Code Online (Sandbox Code Playgroud)

看它是否有所改善,但没有.

我在这里看到了这个例子,但那些人有同样的问题: 在此输入图像描述在此输入图像描述

所以,我不知道我能做些什么.也许有一种方法可以不失去图像的质量,或者,还有另一种方法可以旋转图像而不会丢失质量.我知道这个方法:

root_mat = cv2.getRotationMatrix2D(to_rotate_center, angle, 1.0)
result = cv2.warpAffine(to_rotate, root_mat, to_rotate.shape, flags=cv2.INTER_LINEAR)
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用,因为我必须在这里旋转每个矩形:

在此输入图像描述

而不是整个形象.这意味着,我发现这样做的最好方法是warpPerspective,它工作正常,但质量下降.我希望得到一个避免质量损失的建议.

python opencv image image-rotation opencv3.1

7
推荐指数
1
解决办法
1550
查看次数

标签 统计

opencv ×2

c++ ×1

image ×1

image-rotation ×1

ios ×1

opencv3.1 ×1

python ×1