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. ActionBar开启Overlay Mode(覆盖模式)

    以下内容参考自Android官网http://developer.android.com/training/basics/actionbar/overlaying.html#EnableOverlay ...

  2. postgresql 忘记 postgres 密码

    参考博文: 如何重置postgresql用户密码 解决方法: 1.关闭数据库服务 2.进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录) ...

  3. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  4. POJ 3624 01背包

    初学DP,用贪心的思想想解题,可是想了一个多小时还是想不出. //在max中的两个参数f[k], 和f[k-weight[i]]+value[i]都是表示在背包容量为k时的最大价值 //f[k]是这个 ...

  5. SolrCloud Hello Word

    Solr Cloud 设计出来的目的是使你的搜索服务具有更高的可用性,提高容错.容灾能力.下面我们在一台电脑上建立2个solr服务,作为一个solrCloud分片(shard),初步认识一下solrC ...

  6. php前端控制器设计1

    The primary role of a front controller in web-based applications is to encapsulate the typical reque ...

  7. linux c 得到文件大小

    #include <sys/stat.h> unsigned long get_file_size(const char *path) { unsigned long filesize = ...

  8. android之IntentFilter的用法_Intent.ACTION_TIME_TICK在manifest.xml不起作用

    在模仿一个天气预报的widget时候,用到了IntentFilter,感觉在manifest.xml注册的receiver跟用代码写registerReceiver()的效果应该是相同的,于是想证明一 ...

  9. 用eclipse编写Android程序时怎样生成apk文件

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/16828449 APK是Android Package的缩写,即Android安装包.通过将 ...

  10. ZOJ 3607贪心算法

    http://blog.csdn.net/ffq5050139/article/details/7832991 http://blog.watashi.ws/1944/the-8th-zjpcpc/ ...