通常直接拍摄书籍纸张总是灰乎乎的,应用opencv自适应阈值二值化可以很方便的将照片转化为清晰的二值化照片,打印出来也不会是黑的,代码如下:
#! python2
# -*- coding:utf-8 -*-
import numpy as np
import cv2
import sys
import os
def handle(imgDir):
name = imgDir.split(".")[0]
fmt = imgDir.split(".")[1]
img = cv2.imread(imgDir, 0)
# img = cv2.medianBlur(img, 5) # 中值滤波
# 自适应阈值二值化
img = cv2.adaptiveThreshold(
img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 5, 2)
img = cv2.medianBlur(img, 5) # 中值滤波
#cv2.imshow("img", img)
cv2.imwrite(name + "_cv." + fmt, img)
print imgDir + " process successfully!"
for arg in sys.argv:
print arg
if arg.split(".")[1] not in ["py", "exe"]:
try:
handle(str(arg))
except:
print "process " + arg + " failed!"
os.system('pause')
效果