Leptonica

Leptonica is a pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications.

http://www.leptonica.com/

Featured operations are

  • Rasterop (a.k.a. bitblt)
  • Affine transformations (scaling, translation, rotation, shear) on images of arbitrary pixel depth
  • Binary and grayscale morphology, rank order, and convolution
  • Seedfill and connected components
  • Image transformations combining changes in scale and pixel depth
  • Pixelwise masking, blending, enhancement, arithmetic ops, etc.

Ancillary operations include

  • I/O for standard image formats
  • Utilities to handle arrays of image-related data types
  • Utilities for generic stacks, queues, heaps and lists; and for byte queues and arrays of numbers and strings

Example applications include

  • Octcube-based color quantization, with and without dithering
  • Modified median-cut color quantization, with and without dithering
  • Skew determination of text images
  • Segmentation of page images with mixed text and images
  • jbig2 unsupervised classifier
  • Border representations of 1 bit/pixel images and raster conversion for SVG
  • PostScript generation (levels 1, 2, 3) of images for device-independent output
  • PDF generation (levels 1, 2) of images for device-independent output
  • Dewarping images of text taken with a camera
  • Rendering text on an image
  • Connectivity-preserving thinning and thickening of 1 bit/pixel images
  • Line removal from a grayscale sketch
  • Search for least-cost paths on binary and grayscale images

————————————————————————————————————————————————————————

最近做个图像识别的东西,需要将图片中的文字识别出来。

使用tesseract ORC,又发现tesseract ORC依赖leptonica,于是,干脆把leptonica也弄弄好了。

http://www.leptonica.com/
可以下载:
        leptonica-1.68.tar.gz  //源码 linux
        vs2008-1.68.zip  ///源码 Windows vs2008

leptonica-1.68-win32-lib-include-dirs.zip  //头文件和lib

安装gnuplot
        环境变量PATH加入 C:\gnuplot\bin(安装路径\bin,可能也是binary)
        创建新环境变量GDFONTPATH 值为C:\WINDOWS\Fonts
        创建新环境变量GNUPLOT_FONTPATH值为C:\WINDOWS\Fonts

安装IrfanView
        环境变量PATH加入C:\Program Files\IrfanView (安装路径)

解压 leptonica-1.68-win32-lib-include-dirs.zip  //头文件和lib

环境变量PATH加入D:\share\leptonica-1.68\lib (解压路径), 这里如果不加的话,需要将dll放到你的工程目录下。因为运行过程中需要调用liblept168.dll这个动态链接库。否刚的话,肯定会报这个“liblept168.dll找不到”的。

xxx..vcproj 同一个目录

新建一个工程,设置Include files路径和lib库路径

即你解压后的Include

        

导入lib库

建立link到leptonica的新的空工程,工程配置里linker->input里加入leptonica的lib

link动态库的release版:leptonlib168.dll
                ink动态库的debug版:leptonlib168d.dll(168是版本号)
                link静态库的release版:
                giflib$(GIFLIB_VERSION)-static-mtdll.lib
                        libjpeg$(LIBJPEG_VERSION)-static-mtdll.lib
                        libpng$(LIBPNG_VERSION)-static-mtdll.lib
                        libtiff$(LIBTIFF_VERSION)-static-mtdll.lib
                        zlib$(ZLIB_VERSION)-static-mtdll.lib
                        liblept$(LIBLEPT_VERSION)-static-mtdll.lib
                link静态库的debug版:

......

如果你找不到GIFLIB_VERSION 类似这些变量的话,写死也行的。就是解压的那些库

giflib416-static-mtdll.lib

giflib416-static-mtdll-debug.lib
                        libjpeg8c-static-mtdll.lib
                        libjpeg8c-static-mtdll-debug.lib
                        libpng143-static-mtdll.lib
                        libpng143-static-mtdll-debug.lib
                        libtiff394-static-mtdll.lib
                        libtiff394-static-mtdll-debug.lib
                        zlib125-static-mtdll.lib
                        zlib125-static-mtdll-debug.lib
                        liblept168.lib
                        liblept168d.lib

相对来说代码都相当简单了。

// my-leptonica.cpp : Defines the entry point for the console application.
// #include "stdafx.h" #include <allheaders.h> int _tmain(int argc, _TCHAR* argv[])
{
PIX *pixs, *pixt1, *pixt2;
pixs = pixRead("..\\..\\test\\test.bmp");
pixDisplayWithTitle(pixs, 700, 500, NULL, 1);
pixDestroy(&pixs);
return 0;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以后的笔记潇汀会尽量详细讲解一些相关知识的,希望大家继续关注我的博客。
本节笔记到这里就结束了。

潇汀一有时间就会把自己的学习心得,觉得比较好的知识点写出来和大家一起分享。
编程开发的路很长很长,非常希望能和大家一起交流,共同学习,共同进步。
如果文章中有什么疏漏的地方,也请大家指正。也希望大家可以多留言来和我探讨编程相关的问题。
最后,谢谢你们一直的支持~~~

C++完整个代码示例(代码在VS2005下测试可运行)

【图像识别】 图像处理和图像分析(leptonica)leptonica-1.68安装配置 (vs2008)的更多相关文章

  1. 【转】vs2008中leptonica-1.68安装配置

    tesseract ocr挺不好配置的,找到一篇不错的文章,分享如下:http://hi.baidu.com/ever8936/blog/item/6998e1196b1d0161dab4bd8f.h ...

  2. leptonica 学习笔记1

    Updated: April 26, 2015 Leptonica is a pedagogically-oriented open source site containing software t ...

  3. Leptonica在VS2010中的编译及简单使用举例

    在tesseract-ocr中会用到leptonica库.这里对leptonica简介下. Leptonica是一个开源的图像处理和图像分析库,它的license是BSD 2-clause.它主要包括 ...

  4. C&C++图形图像处理开源库

    Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外, ...

  5. Atitti 图像处理 特征提取的科技树 attilax总结

    Atitti 图像处理 特征提取的科技树 attilax总结 理论 数学,信号处理,图像,计算机视觉 图像处理 滤波 图像处理 颜色转换 图像处理 压缩编码 图像处理 增强 图像处理 去模糊 图像处理 ...

  6. 《HALCON数字图像处理》第一、二章笔记

    目录 第一章 绪论 1.1 图像和图像处理 1.1.1 图像 1.1.2 数字图像 1.1.3 图像处理及其发展过程 1.2 数字图像处理的步骤和方法 1.3 数字图像处理系统的硬件组成 1.4 数字 ...

  7. (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  8. (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  9. (3两个例子)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

随机推荐

  1. 引入工程报包导入异常:import javax.servlet.annotation.WebFilter;

    引入工程报包导入异常:import javax.servlet.annotation.WebFilter; (2013-02-21 16:38:00)   分类: java 今天上午导入了一个项目,用 ...

  2. lnmp-zabbix

    wget http://down1.chinaunix.net/distfiles/freetype-2.4.7.tar.bz2 tar -jxvf freetype-2.4.7.tar.bz2 cd ...

  3. 2014年百度之星程序设计大赛 资格赛第一题 (longlong)

    解题思路: 只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错 注意一点,数据会爆int WA代码: #include<stdio.h> int main( ...

  4. 分享,iOS国家手机区号代码.plist

    APP注册需要手机号码的时候,如果有在其他国家的时候需要填写手机区号 一份有国家名字和区号的plist 参照微信注册的时候 格式是 <Array> <Array> <Ar ...

  5. 2、Zookeeper集群搭建、命令行Client操作

    zookeeper 集群最好是奇数台: 5台允许挂掉2台 4台只能允许挂掉1台 zjtest7-redis:/opt/zookeeper/bin# ./zkServer.sh status ZooKe ...

  6. kvm libvirt: hostdev passthrough support 解决加密狗冲突问题

    From: "Daniel P. Berrange" <berrange redhat com> To: Guido Günther <agx sigxcpu o ...

  7. 使用Spring标签库

    A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...

  8. poj3819 Coverage (求直线与圆的交占直线的百分比 )

    题意:给你一条直线和若干个圆,求圆与直线相交的长度占整条直线的比例 解题思路:通过定比分点的方法求出圆与直线的交占圆的比例. 第一步:(确定投影的方向是x轴还是y轴) (1)当直线的line.s(x, ...

  9. What’s new in Spark 1.2.0

    What's new in Spark 1.2.0 1.2.0 was released on 12/18, 2014 在2014年5月30日公布了Spark 1.0 和9月11日公布了Spark1. ...

  10. SVN库迁移

    最后库迁移.机会主义的,在源库资源,然后上传到目标库,最后client更新url地址.的库被组长一眼识破,由于新库中没有大家的操作日志. 这次吸取上次的教训,用dump和load完毕SVN库迁移. 整 ...