如何使用OpenCV从漫画书图像中提取面板

时间:2016-12-11 20:13:17

标签: python opencv image-processing imagemagick image-manipulation

图片

enter image description here

正如您所看到的,此特定图像中有6个面板,但我想将其概括为所有漫画书页面图像。我试图将这些面板提取为6个单独的图像。

我尝试的第一件事是OpenCV的findCountours。

import numpy as np
import cv2

img = cv2.imread('sample-chapter/one-piece-1693192.jpg')
imgrey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh1 = cv2.threshold(imgrey,127,255,cv2.THRESH_BINARY)

contours,heirarchy = cv2.findContours(thresh1,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img,contours,-1,(0,255,0),3)
cv2.imwrite('threshold_image.png',thresh1)

正如你所看到的,我使用了RETR_EXTERNAL,我被告知只给出极端的外轮廓 - 所有儿童轮廓的母体。然而,这仍然没有给出面板 - 但内部图像的轮廓:

enter image description here

现在我想知道是否某种连续的区域选择和删除(从左上角的(0,0)开始)可能会有所帮助 - 也许某些东西允许我在每次运行到透明像素时对图像进行分割?我真的不知道从哪里开始。有什么建议吗?

0 个答案:

没有答案