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. 【QT相关】Qt Widgets Module

    Qt Widgets Module:提供了一些列UI元素. 使用: //头文件包含 #include <QtWidgets> //链接模式,在.pro文件中添加行: QT += widge ...

  2. Android:WebView(慕课网)

    使用webview最重要的三点: 1 WebView加载本地资源(webView.loadUrl("file:///android_asset/example.html");) 2 ...

  3. HTML5新标签

    <article>标签定义外部的内容.比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本.亦或是来自其他外部源内容. HTML5:<arti ...

  4. iOS XMPP之常见错误一:(<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>)

    在XMPP开发中,使用XMPPStream进行连接服务器后,验证过程中,比较常见的一个错误是 <failure xmlns="urn:ietf:params:xml:ns:xmpp-s ...

  5. 原生弹窗拖拽代码demo+简单的抽奖

    拖拽效果 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  6. Centos6.5搭建bugzilla

    一.安装httpd. mod_ssl. mysql-server . mysql .php-mysql . gcc . perl* . mod-perl-devel [root@localhost ~ ...

  7. 基于visual Studio2013解决C语言竞赛题之0601判断素数函数

           题目 解决代码及点评 //编写一函数判断一个数是否为素数 #include<stdio.h> #include <stdlib.h> # ...

  8. 【深圳,武汉】一加科技(One Plus)招聘,寻找不...

    [深圳,武汉]一加科技(One Plus)招聘,寻找不... [深圳,武汉]一加科技(One Plus)招聘,寻找不... 来自: 一加 2013-12-30 15:28:04         标题: ...

  9. 多线程之线程通信条件Condition

    Condition是Locks锁下的还有一种线程通信之间唤醒.堵塞的实现.它以下的await,和signal可以实现Object下的wait,notify和notifyAll的所有功能,除此之外改监视 ...

  10. VS2013配置opencv3.0.0 (win8.1)

    今天下载了最新版本的opencv3.0.0,之前一直是opencv2.4.8 点击.exe文件,我将解压后的文件夹放在D:\盘,取名opencv30,D:\opencv30 添加环境变量:D:\ope ...