这里利用pytesseract,opencv3等库提取身份证上某些有用的信息(不带照片的那一面)。如果图像的分辨率不是很高,首先需要对图像通过插值的方法,提高图像的分辨率,这样才能较好的识别身份证的信息。因为不能像带人脸的那一面,通过人脸特征将身份证转正,所以需要图片里的身份证方置的较正。
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import pytesseract
import cv2
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from skimage import io
import numpy as np
import pandas as pd
import re
先面试读取图像,然后放大图像:
image = io.imread("身份证背面3.jpg")
print(image.shape)
high,width = image.shape[0:2]
## 图像放大两倍 ,4x4像素邻域的双三次插值
image = cv2.resize(image,(width*4,high*4), interpolation=cv2.INTER_CUBIC)
plt.imshow(image)
plt.axis("off")
plt.show()
print(image.shape)
(403, 640, 3)