身份证信息提取(1)

目前项目在做的一个身份证信息提取的api,目前的思路如下:

1.利用opencv过滤出身份证上的有用信息

(1)姓名 (2)性别 (3)民族 (4)住址 (5)身份证

2.通过opencv的方法定位有用的内容抠出来

3.利用深度学习的方法识别文字并提取出来整合。


目前先做第一步,身份证上有两种颜色的字,蓝色和黑色,有用的就只有黑色了,初步想法是遍历像素点只留下黑色的部分,实现代码如下:

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import cv2
gray = cv2.imread('C:/Users/sd/Desktop/img/7.jpg')
gray = cv2.bilateralFilter(gray,9,50,50)
for i in range(gray.shape[0]):
    for j in range(gray.shape[1]):
        b = int(gray[i,j,0])
        g = int(gray[i,j,1])
        r = int(gray[i,j,2])
        if abs(b-r)<30 and abs(g-r)<30 and abs(b-g)<30 and b<125 and g<125 and r<125 :
            continue
        else:
            gray[i,j,0]=255
            gray[i,j,1]=255
            gray[i,j,2]=255

plt.imshow(gray)
plt.show()

执行效果:


看起来勉勉强强。。。但是这玩意受光线影响太大了,只要照片拍得不太好就凉凉了,接下来再继续想优化的办法。。

此文待续。。。。。

猜你喜欢

转载自blog.csdn.net/xxxslinyue/article/details/79389008
今日推荐