如何从倾斜的图像中裁剪背景?

2024-04-19 05:11:21 发布

您现在位置:Python中文网/ 问答频道 /正文

输入是来自扫描仪的图像(文档),我的任务是裁剪背景并只返回文档,就像这样:InputOutput

我已经通过阈值和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的倾斜图像,请告诉我。你知道吗

谢谢你的帮助。你知道吗


Tags: 函数from文档图像imageimportimgmatplotlib