文档扫描OCR识别
知识点讲述
1、边缘检测cv2.Canny()函数
1、cv2.Canny()函数原型
edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
image:原图像
threshold1,2 是阈值,两个阈值相互作用
大部分情况下这三个参数就够了,如果有需要可以添加
针对这个项目:
edged = cv2.Canny(image,70,200) 实现边缘检测之前通常进行gauss降噪
2、边缘检测与轮廓检测之间的区别:
1)、边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常来反映了属性的重要事件和变化。 这些包括(i)深度上的不连续自、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提提取中的一个研究领域。
2)、轮廓提取是提取出想要得到的轮廓 轮廓可能是边缘的一部分。
3、Image 模块
Image 模块
Image 模块提供了同名的类用来表示PIL的图像。Image模块还提供了许多工厂(factory)函数,包块从文件加载图像的函数,以及创建新图像的函数。
Image.open(filename)
Image.new()
4、程序源码
import argparse
import numpy as np
import cv2
from functions import *
from PIL import Image
import pytesseract
import os
from imutils import contours
# from pyimagesearch.transform import four_point_transform
ap = argparse.ArgumentParser()
ap.add_argument('-i','--image',required = True,help = "Path to the image to be scanned")
args = vars(ap