• 【图像识别】 图像处理和图像分析(leptonica)leptonica-1.68安装配置 (vs2008)


    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:gnuplotin(安装路径in,可能也是binary)
            创建新环境变量GDFONTPATH 值为C:WINDOWSFonts
            创建新环境变量GNUPLOT_FONTPATH值为C:WINDOWSFonts


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


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

            环境变量PATH加入D:shareleptonica-1.68lib (解压路径), 这里如果不加的话,需要将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下测试可运行)

           



  • 相关阅读:
    iOS很重要的 block回调
    怎样写具体设计文档
    ORM框架
    RapidXml用法
    【Android Training
    ORACLE触发器具体解释
    LeetCode 131 Palindrome Partitioning
    Git管理工具对照(GitBash、EGit、SourceTree)
    Android下将图片载入到内存中
    怎样破解邮箱password
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3315491.html
Copyright © 2020-2023  润新知