python - 为发票 ($xx.xx) 中的每个价格金额生成一个轮廓矩形,包括小数点
问题描述
我正在尝试使用应用于图像的以下内容从发票中分割出文本:
image = cv2.imread(im_path)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
rectKern = cv2.getStructuringElement(cv2.MORPH_RECT, (15,30))
squareKern = cv2.getStructuringElement(cv2.MORPH_RECT, (2,2))
light = cv2.morphologyEx(gray, cv2.MORPH_CLOSE, squareKern)
light = cv2.threshold(light, 0,255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU) [1]
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (30,10))
light = cv2.morphologyEx(light, cv2.MORPH_CLOSE, kernel)
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (7,15))
light = cv2.morphologyEx(light, cv2.MORPH_OPEN, kernel)
light = cv2.morphologyEx(light, cv2.MORPH_CLOSE, cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (30,10)))
但是,对于应该显示为单个白色矩形轮廓的价格(格式为 $xx.xx),我经常缺少两个不相交的白色矩形(因此不包括连接的小数点)。我不确定应该应用哪些转换来包含小数点,并且每个价格都有一个白色矩形(仍然保持不同行的价格分开)。我的代码生成了以下内容: 图像 轮廓
解决方案
推荐阅读
- excel - 根据首字母过滤的 ActiveX 组合框列表
- validation - 文本框和标签不匹配问题!VB6
- ruby - 为什么调用 pp pp 不循环?
- ajax - 变量在 Ajax API 调用中使用时会丢失一些值
- django - 为什么我在 Django 中提交表单或刷新页面后页面没有重定向?
- c - Kernighan 和 Ritchie - 练习 3.3(扩展功能)
- r - 提高 profvis 性能以分析闪亮的应用程序
- javascript - JS indexOf 失败,总是返回-1
- apache-spark - Jupyter Notebook 如何与 Spark 集群通信
- leaflet - 传单和 WMS 版本 >= 1.3.0