输入是来自扫描仪的图像(文档),我的任务是裁剪背景并仅返回文档,如下所示:Input Output
我通过阈值处理和getbbox完成了这项工作:
import matplotlib.pyplot as plt
import matplotlib.image as pli
from skimage.filters import threshold_otsu as otsu
from PIL import Image
cnh_gray = Image.open("cnh.jpg").convert('L')
cnh_gray.save('cnhgray.jpg')
img = pli.imread('cnhgray.jpg')
imagem = Image.open('cnhgray.jpg')
thresh = otsu(img)
mask = img < thresh
msk = Image.fromarray(mask,'L')
box = msk.getbbox()
crop = imagem.crop(box)
问题是:当文档不垂直时,getbbox功能不起作用。由于我不知道角度,如何旋转图像以使用getbbox函数?如果还有其他功能可以用于倾斜图像而不是getbbox,请告诉我。
感谢您的帮助。