如何使用OpenCV和Python将手写文本与图像隔离?

塞尔吉奥·潘塔诺

如何使用OpenCV和Phyton隔离或裁剪手写文本的图像:

手写图片

我尝试使用:

cv2.findContours

但是由于噪音(背景和纸脏),我无法只拿纸。

我该怎么做呢?

幼稚

为了使嘈杂的图像平滑,典型的方法是应用某种类型的模糊滤镜。例如cv2.GaussianBlur()cv2.medianBlur()cv2.bilaterialFilter()可以用于消除盐/胡椒粉噪音。模糊后,我们可以阈值获得二进制图像,然后执行形态学运算。从这里,我们可以找到轮廓并使用宽高比或轮廓区域进行过滤。要裁剪ROI,我们可以使用Numpy切片


检测到的文字

在此处输入图片说明

提取的ROI

在此处输入图片说明

import cv2

image = cv2.imread('1.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.medianBlur(gray, 5)
thresh = cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV,11,8)

kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5,5))
dilate = cv2.dilate(thresh, kernel, iterations=6)
cnts = cv2.findContours(dilate, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
cnts = sorted(cnts, key=cv2.contourArea, reverse=True)

for c in cnts:
    x,y,w,h = cv2.boundingRect(c)
    ROI = image[y:y+h, x:x+w]
    cv2.imwrite('ROI.png', ROI)
    break

cv2.imshow('thresh', thresh)
cv2.imshow('dilate', dilate)
cv2.imshow('ROI', ROI)
cv2.waitKey()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

支持SVM的Python OpenCV手写识别,更改培训和测试数量

来自分类Dev

支持SVM的Python OpenCV手写识别,更改培训和测试数量

来自分类Dev

如何在Python中锐化然后细化手写数字的图像?

来自分类Dev

如何判断图像是否包含“手写签名”?

来自分类Dev

如何使用手写笔.define()颜色

来自分类Dev

如何使用手写识别模型作为 API?

来自分类Dev

使手写文本变暗 - Pdf 文件

来自分类Dev

如何在Android中将手写笔记转换为文本笔记?

来自分类Dev

手写动作

来自分类Dev

手表和手写笔

来自分类Dev

用opencv查找手写箭头的特征

来自分类Dev

如何在触控笔和汇总中添加手写笔支持

来自分类Dev

如何将键盘锁定为简体中文手写?

来自分类Dev

如何将扫描的手写表转换为Excel电子表格?

来自分类Dev

结合使用手写笔中间件和Express 4,SyntaxError

来自分类Dev

使用gulp和gulp重命名输出多个手写笔主题文件

来自分类Dev

结合使用手写笔中间件和Express 4,SyntaxError

来自分类Dev

Google Cloud Vision API 是否支持从具有梳状字段的 pdf/图像读取手写或输入文本

来自分类Dev

如何使用我自己的.styl文件从bootstrap手写笔文件夹中自定义Bootstrap手写笔变量?

来自分类Dev

如何使用手写笔生成多个帧?

来自分类Dev

如何在calc()中使用多个变量手写笔?

来自分类Dev

如何使用我们的Galaxy Note手写识别

来自分类Dev

使用Jekyll手写笔插件时如何执行--include-css

来自分类Dev

带有html和手写笔的根

来自分类Dev

如何计算手写笔的平方根

来自分类Dev

WordPress的。如何防止WordPress删除我的手写代码

来自分类Dev

如何在手写笔中扎根?

来自分类Dev

手写笔如何实现循环?

来自分类Dev

不能使用手写笔的哈希

Related 相关文章

  1. 1

    支持SVM的Python OpenCV手写识别,更改培训和测试数量

  2. 2

    支持SVM的Python OpenCV手写识别,更改培训和测试数量

  3. 3

    如何在Python中锐化然后细化手写数字的图像?

  4. 4

    如何判断图像是否包含“手写签名”?

  5. 5

    如何使用手写笔.define()颜色

  6. 6

    如何使用手写识别模型作为 API?

  7. 7

    使手写文本变暗 - Pdf 文件

  8. 8

    如何在Android中将手写笔记转换为文本笔记?

  9. 9

    手写动作

  10. 10

    手表和手写笔

  11. 11

    用opencv查找手写箭头的特征

  12. 12

    如何在触控笔和汇总中添加手写笔支持

  13. 13

    如何将键盘锁定为简体中文手写?

  14. 14

    如何将扫描的手写表转换为Excel电子表格?

  15. 15

    结合使用手写笔中间件和Express 4,SyntaxError

  16. 16

    使用gulp和gulp重命名输出多个手写笔主题文件

  17. 17

    结合使用手写笔中间件和Express 4,SyntaxError

  18. 18

    Google Cloud Vision API 是否支持从具有梳状字段的 pdf/图像读取手写或输入文本

  19. 19

    如何使用我自己的.styl文件从bootstrap手写笔文件夹中自定义Bootstrap手写笔变量?

  20. 20

    如何使用手写笔生成多个帧?

  21. 21

    如何在calc()中使用多个变量手写笔?

  22. 22

    如何使用我们的Galaxy Note手写识别

  23. 23

    使用Jekyll手写笔插件时如何执行--include-css

  24. 24

    带有html和手写笔的根

  25. 25

    如何计算手写笔的平方根

  26. 26

    WordPress的。如何防止WordPress删除我的手写代码

  27. 27

    如何在手写笔中扎根?

  28. 28

    手写笔如何实现循环?

  29. 29

    不能使用手写笔的哈希

热门标签

归档