gpt4 book ai didi

python-3.x - 当同时存在白色和黑色背景时,如何将整个图像的背景转换为白色?

转载 作者:太空宇宙 更新时间:2023-11-03 22:39:11 26 4
gpt4 key购买 nike

表单图像包含不同背景的文本。图像需要转换为一种背景(此处为白色),因此标题需要转换为黑色。

输入图片:

enter image description here

输出图像: enter image description here

我的方法是检测网格(水平线和垂直线并将它们相加),然后将网格的每个部分裁剪成新的子图像,然后检查大多数像素颜色并转换因此。但是在实现之后,蓝色背景图像没有被检测到并且被裁剪为:

enter image description here

所以我试图将整个表单图像转换成一个背景,这样我就可以避免这样的结果。

最佳答案

这里有一种不同的处理方法,可以处理黑色的“反向视频”,而不是依靠某些颜色饱和度来找到它。

#!/usr/bin/env python3

import cv2
import numpy as np

# Load image, greyscale and threshold
im = cv2.imread('form.jpg',cv2.IMREAD_GRAYSCALE)

# Threshold and invert
_,thr = cv2.threshold(im,127,255,cv2.THRESH_BINARY)
inv = 255 - thr

# Perform morphological closing with square 7x7 structuring element to remove details and thin lines
SE = np.ones((7,7),np.uint8)
closed = cv2.morphologyEx(thr, cv2.MORPH_CLOSE, SE)
# DEBUG save closed image
cv2.imwrite('closed.png', closed)

# Find row numbers of dark rows
meanByRow=np.mean(closed,axis=1)
rows = np.where(meanByRow<50)

# Replace selected rows with those from the inverted image
im[rows]=inv[rows]

# Save result
cv2.imwrite('result.png',im)

结果是这样的:

enter image description here

中间的 closed 图像看起来像这样——我人为地添加了一个红色边框,这样你就可以在 Stack Overflow 的白色背景上看到它的范围:

enter image description here

你可以阅读形态学 here以及 Anthony Thyssen 的精彩描述,here .

关于python-3.x - 当同时存在白色和黑色背景时,如何将整个图像的背景转换为白色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55790159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com