几个有用的脚本备记

tesseract sh训练脚本

#! /bin/bash

# build the environment
mkdir tessenv; cd tessenv
TROOT=`pwd`
mkdir $TROOT/stockfonts; mkdir $TROOT/build; mkdir $TROOT/build/eng
echo "Environment built"
# Get the stock english fonts from Google (old, but they work)
cd $TROOT/stockfonts
GET http://tesseract-ocr.googlecode.com/files/boxtiff-2.01.eng.tar.gz > boxtiff-2.01.eng.tar.gz
echo "Google box/tiff tar.gz loaded"

# unpack the fonts, a new english (eng) directory is created with tif/box files
tar -xzf boxtiff-2.01.eng.tar.gz
echo "box/tiff file unpacked"

# Move the arial font data into the build space (yes, the exp0 is required)
mv $TROOT/stockfonts/eng/eng.arial.g4.tif $TROOT/build/eng.arial.exp0.tif
mv $TROOT/stockfonts/eng/eng.arial.box $TROOT/build/eng.arial.exp0.box
echo "ariel box/tif moved and renamed"
cd $TROOT/build
# Create the font_properties file
echo "arial 0 0 0 0 0" > font_properties

# BEGIN BUILDING NEW eng.traineddata
tesseract eng.arial.exp0.tif eng.arial.exp0 nobatch box.train
unicharset_extractor eng.arial.exp0.box
shapeclustering -F font_properties -U unicharset  eng.arial.exp0.tr
mftraining -F font_properties -U unicharset -O eng.unicharset eng.arial.exp0.tr
cntraining eng.arial.exp0.tr
echo "eng.traineddata complete"

# BEGIN combining into an eng.traineddata set
# Note files are moved into an isoloated directory for combiing
# Note files have language prefix added

cp eng.unicharset $TROOT/build/eng/eng.unicharset
cp normproto $TROOT/build/eng/eng.normproto
cp inttemp $TROOT/build/eng/eng.inttemp
cp pffmtable $TROOT/build/eng/eng.pffmtable
cp shapetable $TROOT/build/eng/eng.shapetable

cd $TROOT/build/eng
combine_tessdata eng.

# You now have an eng.trainedddata file in your $TROOT/build/eng directory
# You must move this file to your /usr/local/share/tessdata directory.
# You will need sudo permission.
# BE SURE to back up your old eng.traineddata FIRST
# Recommend testing your new tesseract with the eng.arial.exp0.tif file in
# the build directory.

opencv 文本图片预处理

# -*- coding: UTF-8 -*-
import cv2
def  digitsimg(src):

    #灰度化
    img_gray = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)
    #Otsu thresholding 二值化
    ret,result= cv2.threshold(img_gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
    #腐蚀去除一些小的点
    kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,2))
    eroded = cv2.erode(result,kernel)
    #将结果放大便于识别
    result = cv2.resize(result,(128,128),interpolation=cv2.INTER_CUBIC)
   # cv2.imshow(‘result‘,result)
   # cv2.waitKey(0)
    #腐蚀去除放大后的一些小的点
    eroded = cv2.erode(result,kernel)
  #  cv2.imshow(‘eroded‘,eroded)
  #  cv2.waitKey(0)
    #膨胀使数字更饱满
    result = cv2.dilate(eroded,kernel)
 #   cv2.imshow(‘dilated‘,result)
    #直方图均衡化使图像更清晰
    cv2.equalizeHist(result)
    #中值滤波去除噪点
    result = cv2.medianBlur(result,5)
#    cv2.imshow(‘median‘,result)
 #   cv2.waitKey(0)
    return result
‘‘‘
def chineseimg(src):

    #灰度化
    img_gray = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)
    #Otsu thresholding 二值化
    ret,result= cv2.threshold(img_gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
  #  cv2.imshow(‘otsu‘,result)
  #  cv2.waitKey(0)
    #直方图均衡化使图像更清晰
    cv2.equalizeHist(result)
  #  cv2.imshow(‘直方图‘,result)
 #   cv2.waitKey(0)
    return result
    #将结果放大便于识别
    result = cv2.resize(result,(256,128),interpolation=cv2.INTER_CUBIC)
    #腐蚀去除放大后的一些小的点
    kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,2))
    eroded = cv2.erode(result,kernel)
    cv2.imshow(‘eroded‘,eroded)
    cv2.waitKey(0)
    #膨胀使数字更饱满
    result = cv2.dilate(eroded,kernel)
    cv2.imshow(‘dilated‘,result)
    cv2.waitKey(0)
    #直方图均衡化使图像更清晰
    cv2.equalizeHist(result)
    #中值滤波去除噪点
    result = cv2.medianBlur(result,5)
    cv2.imshow(‘median‘,result)
    cv2.waitKey(0)‘‘‘
    

https://coding.net/u/mengning/p/np2016/git/blob/master/BloodTestReportOCR/imgproc.py

时间: 2024-10-12 21:44:56

几个有用的脚本备记的相关文章

hadoop备记

Hadoop 的优势 Hadoop 是 一 个 能 够 让 用 户 轻 松 架 构 和 使 用 的 分 布 式 计 算 平 台. 用 户 可 以 轻 松 地 在Hadoop 上开发运行处理海量数据的应用程序.它主要有以下几个优点: 1.高可靠性.Hadoop 按位存储和处理数据的能力值得人们信赖. 2.高扩展性.Hadoop 是在可用的计算机集簇间分配数据完成计算任务的, 这些集簇可以方便地扩展到数以千计的节点中. 3.高效性.Hadoop 能够在节点之间动态地移动数据, 以保证各个节点的动态平

bower解决js的依赖管理备记

一个新的web项目开始,我们总是很自然地去下载需要用到的js类库文件,比如jQuery,去官网下载名为jquery-1.10.2.min.js文件,放到我们的项目里.当项目又需要bootstrap的时候,我们会重复刚才的工作,去bootstrap官网下载对应的类库.如果bootstrap所依赖的jQuery并不是1.10.2,而是2.0.3时,我们会再重新下载一个对应版本的jQuery替换原来的. 包管理是个复杂的问题,我们要知道谁依赖谁,还要明确哪个版本依赖哪个版本.这些对于开发人员来说,负担

hadoop开发使用备记

使用Hadoop已经有一段时间了,从开始的迷茫,到各种的尝试,到现在组合应用-.慢慢地涉及到数据处理的事情,已经离不开hadoop了.Hadoop在大数据领域的成功,更引发了它本身的加速发展.现在Hadoop家族产品,已经达到20个了之多. 有必要对自己的知识做一个整理了,把产品和技术都串起来.不仅能加深印象,更可以对以后的技术方向,技术选型做好基础准备. 一句话产品介绍: Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和

redhat-5.6-x86_64 编译 binutils-2.24、gcc-4.9.2 备记

工具链准备:rhel56安装时包含所有开发需要的包. 编译binutils-2.24(便以前先打补丁0ef76c4和27b829e): ./configure --disable-nls --disable-shared --build=x86_64-redhat-linux --host=x86_64-redhat-linux --target=x86_64-redhat-linux --disable-multilib --prefix=/opt/gcc-4.9.2 make all ins

vps配置脚本备个份

#!/bin/bash apt-get update -y apt-get dist-upgrade -y apt-get install -y nmap vim build-essential gcc g++ netcat git curl wget python-dev openssl zip automake make libncurses5-dev aptitude tmux proxychains python-pip python3-pip libssl-dev tor php ap

redhat-5.6-x86_64、gcc-4.9.2 编译 Qt-4.8.6 备记

下载地址 mkspecs选择linux-g++-64 编译前正确配置LD_LIBRARY_PATH为64位对应的lib目录,如/usr/lib64等,需要将gcc-4.9.2的lib64目录放到/usr/lib64的前面--链接gcc-4.9.2的libstdc++.so,否则编译好的Qt运行时会链接/usr/lib64下的libstdc++.so,部分工具(assistant.linguist等会运行出错):LD_LIBRARY_PATH中不包含32位的库目录. configure事如果X

/CC1310备记

之前做了一镇子超低功耗,遇到的问题cc1310的不同封装程序无法通用, 困惑了很久也没有解决,找到问题没有解决的那种,环境使用的是官方ccs和engina. 1.可能寄存器重新配置过却没有使能初始化,换环境<IAR,/有望解决 2.6lowpan理解片面,基于结构性理解而非功能性理解 http://processors.wiki.ti.com/index.php/Contiki-6LOWPAN 原文地址:https://www.cnblogs.com/beyondsdo/p/12333860.h

Oracle 12c dataguard云上挖坑记

--为某机场贵宾业务部署oracle 12c到百度云 项目需求 据称现有环境为多节点RAC,管理成本高,主要体现在没有专业技术人家对基础设施进行维护.迁移到云上以后,基础设施维护就节省掉了.而且后边容量扩充易如反掌,远程维护之类也比物理环境去现场操作方便许多. 但在云上,oracle RAC实现的两个前提条件--共享存储及心跳网络,不被正式支持,因此要在云上部署oracle RAC用于生产环境,不是一个好的解决方案.经过多轮讨论,一致同意在百度云部署单实例oracle 12c,以dataguar

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执