当前位置:首页 >> 脚本专栏

Python + opencv对拍照得到的图片进行背景去除的实现方法

有时候我们没办法得到pdf或者word文档,这个时候会使用手机或者相机进行拍照,往往会出现背景,打印出来就是灰色的或者有黑色的背景,这个时候影响视野观看,通过代码实现对背景去除,还原清晰图像。代码如下:

#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
# @Time : 2020/11/17 19:06
# @Author : ptg
# @Email : zhxwhchina@163.com
# @File : 去背景.py
# @Software: PyCharm

import cv2 as cv
import numpy as np

image = cv.imread("text1.png",cv.IMREAD_GRAYSCALE)
binary = cv.adaptiveThreshold(image,255,
        cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY_INV,25,15)
se = cv.getStructuringElement(cv.MORPH_RECT,(1,1))
se = cv.morphologyEx(se, cv.MORPH_CLOSE, (2,2))
mask = cv.dilate(binary,se)
cv.imshow("image",image)

mask1 = cv.bitwise_not(mask)
binary =cv.bitwise_and(image,mask)
result = cv.add(binary,mask1)
cv.imshow("reslut",result)
cv.imwrite("reslut00.jpg",result)
cv.waitKey(0)
cv.destroyAllWindows()

处理前:

Python + opencv对拍照得到的图片进行背景去除的实现方法

处理后:

Python + opencv对拍照得到的图片进行背景去除的实现方法

这个时候打印出来就没有背景了,当然用python里面有一个文字识别,再将识别的结果输出到pdf等文档中,也是可以的,感兴趣的可以思考研究一下。
最后,就是告诉大家,用Python做自动化办公也是很香的一条路,可以成为研究的方向。