宠物发布网站模板,射阳建设网站哪家好,嵌入式软件开发是干嘛的,国内 虚拟主机一.引言
文字识别#xff0c;也称为光学字符识别#xff08;Optical Character Recognition, OCR#xff09;#xff0c;是一种将不同形式的文档#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技… 一.引言
文字识别也称为光学字符识别Optical Character Recognition, OCR是一种将不同形式的文档如扫描的纸质文档、PDF文件或数字相机拍摄的图片中的文字转换成可编辑和可搜索的数据的技术。随着技术的发展文字识别技术已经成为信息管理、自动化办公和智能系统的关键组成部分。
二.简介
为了易于集成和使用我们将文字识别OCR封装为DLL动态链接库。这种封装方式不仅保留了算法的性能优势还提供了跨平台和跨语言的兼容性目前支持编程语言如下
CPython易语言
1.C头文件 #ifndef __SN_OCR__H__
#define __SN_OCR__H__#include windows.h//返回参数
typedef struct SN_STATU {int code; //错误码如果为 0 表示成功否则表示错误号char message[4096]; //错误信息如果为 OK 表示成功否则返回错误信息}SN_STATU;/*启动OCR文字识别服务
*
* 参数
* [in] szOnnxFilePath 设置 onnx 模型文件路径如果设置为 NULL默认和 DLL文件同级目录
* [out] pResult 返回错误信息参数pResult-code(错误码)如果为 0 表示成功否则表示错误号;
*
* 返回值成功返回0失败返回错误号详细错误信息请参考 pResult
*
*/
int WINAPI apiSNInitOCRServer(char* szOnnxFilePath, SN_STATU* pStatu);/*创建OCR文字识别句柄
*
* 参数
* [in] szKey 卡密(购买卡密https://shop.4yuns.com/links/7C9F16B7)
* [in] pOnnxFilePath设置 onnx 模型文件路径如果设置为 NULL默认和 DLL文件同级目录
* [out] pResult 返回错误信息参数pResult-code(错误码)如果为 0 表示成功否则表示错误号;
*
* 返回值成功返回句柄失败返回NULL
*
*/
HANDLE WINAPI apiSNCreateOCRHandle(char* szKey, char* szOnnxFilePath, SN_STATU* pStatu);/*获取OCR文字识别卡密到期时间
*
* 参数
* [in] handle 句柄通过调用apiSNCreateOCRHandle得到
* [out] pResult 返回错误信息参数pResult-code(错误码)如果为 0 表示成功否则表示错误号;
*
* 返回值返回卡密到期时间失败返回NULL错误信息请查看参数 pResult-message
*
*/
char* WINAPI apiSNGetKeyExpiresTime(HANDLE handle, SN_STATU* pResult);/*获取OCR文字识别结果以json字符串形式返回
*
* 参数
* [in] handle 句柄通过调用apiSNCreateOCRHandle得到
* [in] szImageFilePath 图片路径
* [out] pResult 返回错误信息参数pResult-code(错误码)如果为 0 表示成功否则表示错误号;
*
* 返回值返回OCR文字识别结果以json字符串形式返回失败返回NULL错误信息请查看参数 pResult-message
*
*/
char* WINAPI apiSNGetOCRFromImage(HANDLE handle, char* szImageFilePath, SN_STATU* pStatu);/*释放OCR文字识别句柄释放内存
*
* 参数
* [in] handle 句柄通过调用apiSNCreateOCRHandle得到
*
* 返回值返回 0 表示成功其他值表示错误号;
*
*/
int WINAPI apiSNDestroyOCRHandle(HANDLE handle);#endif
2.C调用dll接口 #include iostream
#include SNOCR.hint main()
{struct SN_STATU statu { 0 };char szExeFullPath[4096] { 0 };char szImagePath[4096] { 0 };//卡密char szKey[4096] SNKJe9xffLhdFY7r3TcffXq44ThDVcE3BQFQFfVA9VG4;//onnx模型路径char szOnnxFullPath[4096] { 0 };GetModuleFileName(NULL, szExeFullPath, 4096);*strrchr(szExeFullPath, \\) 0;sprintf(szOnnxFullPath, %s\\SNOCR.onnx, szExeFullPath);// 注意路径不要带有中文sprintf(szImagePath, %s\\7.jpg, szExeFullPath);//1.启动OCR服务int ret apiSNInitOCRServer(szOnnxFullPath, statu);if (ret 0){printf(Error:%s \n, statu.message);return 0;}//2.创建OCR句柄HANDLE handle apiSNCreateOCRHandle(szKey, szOnnxFullPath, statu);if (!handle){printf(Error:%s \n, statu.message);return 0;}//3.获取卡密到期时间char* szTime apiSNGetKeyExpiresTime(handle, statu);if (!szTime){printf(Error:%s \n, statu.message);return 0;}//4.识别OCR返回Json字符串char* szJson apiSNGetOCRFromImage(handle, szImagePath, statu);if (!szJson){printf(Error:%s \n, statu.message);return 0;}printf(%s \n, szJson);//5.释放内存apiSNDestroyOCRHandle(handle);getchar();
}
三.效果演示
1.图片1 识别效果 {type: 0,task_id: 1,err_code: 0,ocr_result: {single_result: [{single_rate: 0.939104,left: 102.208336,top: 41.812500,right: 329.854156,bottom: 67.829170,single_str_utf8: 中国建设银行}, {single_rate: 0.966887,left: 104.431534,top: 68.423492,right: 309.992828,bottom: 84.602386,single_str_utf8: China Construction Bank}, {single_rate: 0.968900,left: 102.672920,top: 96.168755,right: 403.258331,bottom: 111.964584,single_str_utf8: 龙卡通(储蓄卡)LONG CARD(DEBIT CARD)}, {single_rate: 0.975151,left: 41.781921,top: 137.955643,right: 410.251556,bottom: 164.107880,single_str_utf8: 6227 0033 2069 0222 205}, {single_rate: 0.935433,left: 20.770407,top: 210.668716,right: 77.230583,bottom: 230.122101,single_str_utf8: ATM}, {single_rate: 0.960131,left: 103.137505,top: 185.368759,right: 192.337509,bottom: 207.204163,single_str_utf8: CCB GZ}, {single_rate: 0.929293,left: 338.376495,top: 201.118103,right: 417.111450,bottom: 224.273529,single_str_utf8: UnionPa}, {single_rate: 0.917808,left: 367.485413,top: 220.677078,right: 413.479156,bottom: 239.260422,single_str_utf8: 银联}],unknown_1: 446,unknown_2: 280}
}
2.图片2 识别效果 {type: 0,task_id: 1,err_code: 0,ocr_result: {single_result: [{single_rate: 0.919637,left: 622.061157,top: 123.251556,right: 1046.638920,bottom: 190.015121,single_str_utf8: 马托13610000670}, {single_rate: 0.996936,left: 40.618664,top: 324.310150,right: 541.513184,bottom: 371.843231,single_str_utf8: 广州利驰服装有限公司}, {single_rate: 0.997014,left: 624.066650,top: 218.300000,right: 1040.933350,bottom: 242.966675,single_str_utf8: 地址:广州市海珠区赤岗路173号}, {single_rate: 0.964238,left: 624.066650,top: 251.600000,right: 844.833374,bottom: 276.266663,single_str_utf8: 金丰大厦503室}, {single_rate: 0.979285,left: 625.300000,top: 286.133331,right: 1044.633300,bottom: 309.566681,single_str_utf8: 厂址:广州市海珠区赤岗西路232}, {single_rate: 0.996300,left: 624.066650,top: 318.200000,right: 759.733337,bottom: 341.633331,single_str_utf8: 号-234号}, {single_rate: 0.991057,left: 624.066650,top: 351.500000,right: 925,bottom: 374.933350,single_str_utf8: 热线:400-688-7260}, {single_rate: 0.964125,left: 625.239319,top: 381.016510,right: 922.600220,bottom: 404.499695,single_str_utf8: 电话:020-84022958}, {single_rate: 0.993601,left: 624.066650,top: 408.233337,right: 923.766663,bottom: 432.900000,single_str_utf8: 传真:020-84022572}, {single_rate: 0.950434,left: 625.203430,top: 438.767609,right: 1107.616580,bottom: 464.666626,single_str_utf8: 邮箱:kunhemwlyahoo.com.cn}, {single_rate: 0.962023,left: 624.066650,top: 471.133331,right: 1001.466670,bottom: 494.566681,single_str_utf8: 网址:www.hxkunhe.com}],unknown_1: 1184,unknown_2: 614}
}
四.常见问题
1.是否支持多线程 支持 五.更新日志
2024.12.15 OCR 文字识别支持C/Python/易语言
六.云盘源码下载
百度云盘夸克云盘123云盘