日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leptonica在VS2010中的编译及简单使用举例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在tesseract-ocr中會用到leptonica庫,這里對leptonica簡單介紹下。

???????? Leptonica是一個開源的圖像處理和圖像分析庫,它的license是BSD 2-clause。它主要包括的操作有:位圖操作、仿射變換、形態學操作、連通區域填充、圖像變換及像素掩模、融合、增強、算術運算等操作。

???????? 在使用Leptonica的時候,它依賴于開源的zlib、libjpeg、libpng、libtiff、giflib。

???????? zlib是一個很好的壓縮、解壓縮庫。它的license是zlib授權,類似BSD。

???????? libjpeg是一個完全用C語言編寫的庫,包含了被廣泛使用的JPEG解碼、JPEG編碼和其它的JPEG功能的實現。它的license類似BSD。

???????? libpng是官方的PNG參考庫,它支持幾乎所有的PNG功能,它也是可擴展的。它使用zlib庫作為壓縮引擎。它的license是permissive free software license,類似BSD。

???????? libtiff是一個用來讀寫TIFF文件的開源庫,它依賴于libjpeg和zlib。它的license是BSD。

???????? giflib是一個讀、寫GIF圖像的開源庫,它的license類似BSD。

???????? 下面詳細介紹Leptonica的編譯步驟:

1.????????從http://www.zlib.net/ 下載最新的zlib-1.2.8源碼,新建zlib靜態庫工程,將/zlib-1.2.8目錄下的.h、.c文件加入到此工程中,編譯生成zlib靜態庫;

2.????????從http://www.libpng.org/pub/png/libpng.html下載最新的libpng-1.6.16,新建libpng靜態庫工程,將/lpng1616目錄下的.h、.c文件加入到此工程中,將/lpng1616/scripts目錄下的pnglibconf.h.prebuilt文件拷貝到/lpng1616目錄下,并修改文件名為pnglibconf.h,將此文件也加入到此工程中,將pngstruct.h文件中zlib.h改成正確的存放路徑,編譯生成libpng靜態庫;

3.????????從http://www.ijg.org/files/ 下載最新的jpeg-9a源碼,新建ligjpeg靜態庫工程,將/jpeg-9a目錄下的.h、.c文件加入到此工程中(jmemdos.c和jmemmac.c文件除外),將jconfig.vc重命名為jconfig.h,將此文件也加入到此工程中,編譯生成libjpeg靜態庫;

4.????????從ftp://ftp.remotesensing.org/pub/libtiff下載穩定版的tiff-4.0.3源碼,新建libtiff靜態庫工程,將/tiff-4.0.3/libtiff目錄下相應的.h、.c文件加入到此工程中,將tiff_config.vc.h、tiffconf.vc.h分別重命名為tiff_config.h、tiffconf.h,將此兩個文件也加入到此工程中,編譯生成libtiff靜態庫;

5.????????從http://sourceforge.net/projects/giflib/下載最新的gitlib-5.1.1源碼,新建giflib靜態庫工程,將/giflib-5.1.1目錄下相應的.h、.c文件加入到此工程中,對源文件進行調整,將源文件中用到#include <stdbool.h>的地方,用以下語句替換,

//#include <stdbool.h>
#ifndef __cplusplustypedef int bool;#define false 0#define true 1
#endif

???????? 將文件中用到的#include<unistd.h>的地方均注釋掉,編譯生成giflib靜態庫;

6.????????從http://www.leptonica.org/download.html下載最新的leptonica-1.71源碼,新建liblept靜態庫工程,將/leptonica-1.71/src目錄下相應的.h、.c文件加入到此工程中,調整:(1)、將zlib、libtiff、libpng、gif_lib.h、jpeglib.h相關頭文件通過工程配置(C/C++-->Additional Include Directories)加入到此工程;(2)、將environ.h文件中的#defineHAVE_LIBGIF 0改為#define HAVA_LIBGIF 1 使其支持Gif圖像格式;(3)、有些文件會出現奇怪的C2275和C2146錯誤,解決方法,找到出錯處,將所有變量的聲明放在函數的開頭即可;(4)、有些文件會出現奇怪的C2057錯誤,解決方法,注釋掉類似的static const l_int32 L_BUF_SIZE = 52;新建一個redefineconstant.h文件,將此文件包含到出現此問題的文件中,redefineconstant.h文件的內容為:

#ifndef _REDEFINE_CONSTANT_H
#define  _REDEFINE_CONSTANT_H#include "allheaders.h"#define L_BUF_SIZE 512
#define MAX_ALLOWED_DILATION 25#endif // _REDEFINE_CONSTANT_H

7. 新建liblepttest控制臺工程,對liblept庫進行簡單測試,相關文件代碼如下:

stdafx.h:

#pragma once#include "targetver.h"#include <stdio.h>#include "../../../ImgCore/src/zlib/zlib-1.2.8/zlib.h"
#include "../../../ImgCore/src/libpng/lpng1616/png.h"
#include "../../../ImgCore/src/libjpeg/jpeg-9a/jpeglib.h"
#include "../../../ImgCore/src/libtiff/tiff-4.0.3/libtiff/tiff.h"
#include "../../../ImgCore/src/giflib/giflib-5.1.1/lib/gif_lib.h"
#include "../../src/leptonica-1.71/src/allheaders.h"

stdafx.cpp:

#include "stdafx.h"// TODO: reference any additional headers you need in STDAFX.H
// and not in this file#ifdef _DEBUG#pragma comment(lib, "../../../../ImgCore/lib/dbg/x86_vc10/zlib[dbg_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/dbg/x86_vc10/libpng[dbg_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/dbg/x86_vc10/libjpeg[dbg_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/dbg/x86_vc10/libtiff[dbg_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/dbg/x86_vc10/giflib[dbg_x86_vc10].lib")#pragma comment(lib, "../../../lib/dbg/x86_vc10/liblept[dbg_x86_vc10].lib")
#else#pragma comment(lib, "../../../../ImgCore/lib/rel/x86_vc10/zlib[rel_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/rel/x86_vc10/libpng[rel_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/rel/x86_vc10/libjpeg[rel_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/rel/x86_vc10/libtiff[rel_x86_vc10].lib")#pragma comment(lib, "../../../../ImgCore/lib/rel/x86_vc10/giflib[rel_x86_vc10].lib")#pragma comment(lib, "../../../lib/rel/x86_vc10/liblept[rel_x86_vc10].lib")
#endif

liblepttest.cpp:

#include "stdafx.h"
#include <iostream>
#include <string>using namespace std;static const l_float32  ANGLE1 = 3.14159265 / 12.;void RotateTest()
{string strSrc = "../../../testdata/weasel.png";string strDst = "../../../testdata/dst.gif";PIX* pixs = pixRead(strSrc.c_str());if (pixs == NULL) {cout<<" read image error "<<endl;return;}l_int32 w, h, d;pixGetDimensions(pixs, &w, &h, &d);PIX* pixd = pixRotate(pixs, ANGLE1, L_ROTATE_SHEAR, L_BRING_IN_WHITE, w, h);pixWrite(strDst.c_str(), pixd, IFF_GIF);pixDestroy(&pixs);pixDestroy(&pixd);
}void EdgeTest()
{string strSrc = "../../../testdata/marge.jpg";string strDst = "../../../testdata/dst.bmp";PIX* pixs = pixRead(strSrc.c_str());if (pixs == NULL) {cout<<" read image error "<<endl;return;}l_int32 w, h, d;pixGetDimensions(pixs, &w, &h, &d);if (d != 8) {cout<<"pixs not 8 bpp"<<endl;return;}PIX* pixf = pixSobelEdgeFilter(pixs, L_HORIZONTAL_EDGES);PIX* pixd = pixThresholdToBinary(pixf, 10);pixInvert(pixd, pixd);pixWrite(strDst.c_str(), pixd, IFF_BMP);pixDestroy(&pixs);pixDestroy(&pixf);pixDestroy(&pixd);
}int main(int argc, char* argv[])
{RotateTest();EdgeTest();cout<<"ok!"<<endl;return 0;
}


GitHub:https://github.com/fengbingchun/Liblept_Test


總結

以上是生活随笔為你收集整理的Leptonica在VS2010中的编译及简单使用举例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:Leptonica在VS2010中的编译及简单使用举例

主站蜘蛛池模板: 色网在线观看 | 99久久99久久精品国产片果冰 | 丰满秘书被猛烈进入高清播放在 | 午夜视频网址 | 无码人妻丰满熟妇区五十路百度 | 激情五月激情综合网 | 久久久久国| 免费国产成人 | 久久精品国产亚洲av麻豆 | 无码一区二区三区在线观看 | 手机看片久久久 | 亚洲AV成人无码网站天堂久久 | 亚洲中文字幕久久无码 | 国产卡一卡二 | 激情综合六月 | 亚洲欧洲一区二区三区 | 久久久91精品国产一区二区三区 | 久久久久久久久久久久 | 免费国产精品视频 | 原创露脸88av | 超碰青娱乐 | 3d动漫精品啪啪一区二区下载 | 91喷水| 91精品啪在线观看国产 | 亚洲特黄| 九九精品九九 | 久久久国产精华液 | 无码人妻精品一区二区 | 国产冒白浆 | 国产成人精品a视频 | 色黄网站在线观看 | 12av在线 | 蜜臀少妇久久久久久久高潮 | 亚洲精品综合久久 | 四虎影视永久 | 亚洲一级片免费 | 欧美女同在线 | 国产成人在线免费观看视频 | 国内精品卡一卡二卡三 | 欧美日韩国产一区二区三区在线观看 | 不卡视频在线播放 | 在线观看黄色网页 | 久久久久久国产精品三级玉女聊斋 | 黄色av网页 | jizz日本大全 | 伊人色综合网 | 五月激情啪啪 | 情侣av | 久久91久久 | 51调教丨国产调教视频 | 成年人在线观看视频 | 男人阁久久 | 亚洲综人 | 在线亚洲区 | 精品国产一区二区三区四区阿崩 | 国产av电影一区二区三区 | 蜜臀av免费一区二区三区水牛 | 亚洲精品乱码久久久久久蜜桃图片 | 欧美一级黄色片在线观看 | 欧美精品久久久久久久多人混战 | 无套内谢老熟女 | 五月天堂网| 狠狠操夜夜操 | eeuss鲁丝片一区二区三区 | 久久久不卡 | av福利在线| 亚洲欧美一区二区三区 | 亚洲视频网站在线观看 | 日本精品视频在线观看 | 国产婷 | 五月天婷婷激情视频 | 久久久久久国产 | 久久久久香蕉 | 午夜福利视频合集1000 | 免费黄色一级 | 男人天堂网址 | 特高潮videossexhd | 老女人网站| 中文字幕亚洲第一 | 国产大奶在线 | 一区二区视频在线看 | 五月婷婷天堂 | 天天草av| 欧美九九| 欧美激情在线免费 | 国产91视频在线 | 特级西西人体444www高清 | 欧美hdse| 熟女精品一区二区三区 | 欧美色图13p | 韩国伦理中文字幕 | h文在线观看 | 99综合色| 国产成a人亚洲精品 | 伊人久久综合 | 色偷偷噜噜噜亚洲男人 | 巨胸爆乳美女露双奶头挤奶 | 欧美性天天影院 | 国产毛片毛片毛片 |