Skip to content

ai-charlie/CharksImagesProcessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CharksImagesProcessing

粉笔字图片处理

Opencv, Python, Tensorflow

项目介绍

代码环境

python = 3.6  opencv = 4.2
OS is win10, Code & Run in Pycharm Community

主要步骤

  1. 去除图片中非黑板部分
  2. 二值化图片
  3. 识别汉字部分
  4. 裁剪并补充汉字部分为正方形,并按从左到右、从上到下的顺序编号

代码列表

序号 描述 备注
1 黑板裁剪 裁剪图片,去除图片中非黑板部分
2 板书OCR 手写汉字数字识别,以命名裁剪的板书字
3

参考

序号 描述 备注
0 点多边形轮廓发现 来自
1 古籍裁剪 原链接
2 python3.7官方中文文档
3 Canny边缘检测 来自
4 pytesseract库 Python-tesseract是用于python的光学字符识别(OCR)工具

Python-tesseract是用于python的光学字符识别(OCR)工具。也就是说,它将识别并“读取”图像中嵌入的文本。Python-tesseract是Google Tesseract-OCR Engine的包装。它也可以用作tesseract的独立调用脚本,因为它可以读取Pillow和Leptonica图像库支持的所有图像类型,包括jpeg,png,gif,bmp,tiff等。此外,如果用作脚本,Python-tesseract将打印识别的文本,而不是将其写入文件。

Method 根据直方图投影裁剪

运行结果

Method 基于梯度的轮廓发现

函数

getStructuringElement函数会返回指定形状和尺寸的结构元素。 这个函数的第一个参数表示内核的形状; 矩形:MORPH_RECT; 交叉形:MORPH_CROSS; 椭圆形:MORPH_ELLIPSE;

第二和第三个参数分别是内核的尺寸以及锚点的位置。 一般在调用erode以及dilate函数之前,先定义一个Mat类型的变量来获得getStructuringElement函数的返回值。 对于锚点的位置,有默认值Point(-1,-1),表示锚点位于中心点。

element形状唯一依赖锚点位置,其他情况下,锚点只是影响了形态学运算结果的偏移。

运行结果

待改进

黑板裁剪或许使用canny等边缘检测,然后找到面积最大的矩形

About

Opencv, Python, Tensorflow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages