我手动应用阈值
我正在尝试提取信用卡的确切信息。
我附上了样本图片。
如何准确提取信用卡号码。
import re
import cStringIO
import urllib
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image
from noiselevel import estimate_noise
import pytesseract
oriimage="sh.png"
newimage = cv2.resize(oriimage,(583,327))
newimage = newimage[150:250, 0:600]
# valid_image = newimage[150:250, 0:600]
cv2.imwrite("moon.tif",newimage)
# filter=ImageFilter.UnsharpMask(6.0,269,0)
# im=Image.open("moon.tif")
# i=im.filter(filter)
# i.save("l3.tif")
a=Image.open("moon.tif")
inputt="moon.tif"
img = cv2.imread(inputt,0)
ret1,th1 = cv2.threshold(img,120,254,cv2.THRESH_BINARY)
答案 0 :(得分:0)
您可以使用Adaptive Thresholding对图像进行二值化。自适应阈值处理基于其周围环境自动确定图像的给定部分的阈值。一个优点是您不必硬编码阈值。另一个更重要的优点是,即使图像中的光线不均匀,它也能提供合理的二值化。
答案 1 :(得分:0)
我通过调整裁剪图像的大小来提高准确度。
cv2.resize(newimage,(583,150)