- 博客(107)
- 资源 (11)
- 收藏
- 关注
原创 TesseractOCR(光学字符识别)引擎概述(一)
目录一、TesseractOCR引擎简介二、TesseractOCR架构三、文本行和单词的查找(Text-line and Word Finding)原文参见《Adapting the Tesseract Open Source OCR Engine for Multilingual OCR》下载链接:https://download.csdn.net/download/...
2018-11-22 14:57:08 7831 3
转载 文字识别总结(OCR)
最近在读Tesseract相关文章,发现一篇总结的不错的文章,对刚入门或者准备入门的具有挺大参考价值,转自:http://www.xtecher.com/Xfeature/view?aid=5372链接可能挂掉了,今天重新补充一下。目录一 ,文字识别简介1)探索阶段(1979一1985)2)研制阶段(1986~1988)3)实用阶段(1989一至今)二 ,印刷体文字识别...
2018-11-15 10:26:31 34735 4
原创 OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
以前学习了些opencv知识,最近在公司又接触了数字识别,经过一个月的努力,最终识别效果还不错,发文记录一下大概方法与流程。第一次发文,多多包涵。 图像二值化对光照非常敏感,在对数据采集时加了外置光源,二值化后做矫正训练,但测试时不进行预处理的话识别效果不理想,特别是最后一位,靠近边缘部分偏暗,试了多种预处理方法仍不理想,最终在网上看了一些图像增强算法,试了效果不错,最终选用对数增强方法。 ...
2018-09-27 12:50:36 6356
原创 MFC 加载pdf
https://github.com/tracker-software/PDFEditorSDKExamples右击项目-类向导-添加类-类库中的MFC类添加如下图的类型库,生成CPXV_Control.h和CPXV_Control.cpp正常使用即可
2021-05-17 18:33:28 1090
原创 vs2013链接器:无法打开文件“ nafxcwd.lib”
stackoverflow: https://stackoverflow.com/questions/24468370/linker-cannot-open-file-nafxcwd-lib
2021-05-17 08:59:55 777
原创 基于图片坐标的自适应KMeans算法
场景:已知图片OCR结果(字符串内容、字符串坐标),需要对图片进行分类,进而进一步定位每列的属性,对每个字符串x+10做垂直方向投影,统计投影结果,二次处理时排除不干扰项int CExtractInfo::getK(cv::Mat &srcImg){ cv::Mat grayImg, binImage; if (srcImg.channels() == 1) grayImg = srcImg.clone(); else cv::cvtColor(srcImg, gr.
2021-05-12 10:00:50 256 1
原创 QT摄像头抓图浏览demo
目录整体说明代码逻辑整体说明基本功能:打开摄像头、关闭摄像头、开始抓图、停止抓图、图片浏览 其他功能:其中抓图间隔可以设置,图片浏览可以设置自动播放, 说明:抓图后进行图片分析(人脸识别等),将抓取的图片进行显示整体效果如下图所示:关键代码 初始化摄像头 void MainWindow::iniCamera(){// 创建 QCamera对象 curCameraInfo=QCameraInfo::defaultCamera(); //.
2021-05-11 17:49:40 674
原创 OpenCV自动旋转矫正
穷举法:图片裁剪缩放,裁剪可以取出扫描时黑边影响,缩放提高速度 opencv二值化图片 分别旋转-15~+15(自定义)度,记录水平投影像素值 取前20(自定义)大的像素之和 取像素和最大的角度即为旋转角度float angle = 0.;int maxHistVal = 0;if (src.cols >800 && src.rows >800) src = src(cv::Rect(200, 200, src.cols - 400, src.row
2021-05-11 16:45:14 822
原创 qml-material win编译
源码:https://github.com/papyros/qml-material参考1:https://blog.csdn.net/lsylovezsl/article/details/90543424参考2:https://github.com/work4blue/qml-material编译好的组件可以直接在 QT安装目录下找到,Qt\Qt5.9.2\5.9.2\msvc2013_64\qml\Material运行效果:...
2021-05-08 14:48:30 190
原创 cvCreateFileCapture 读取视频mp4、avi
将xvid格式的avi文件:狸窝全能视频转换器:http://www.leawo.cn/XviD codec解码器 :http://www.xvidmovies.com/codec/
2021-05-07 18:41:47 313
原创 QT开发相关工具总结
QT相关编号名称描述链接1flameshot跨平台截屏软件2qt-material-widgetshttps://github.com/laserpants/qt-material-widgets3c2gQtCon_xQT Andriod3vnoteMarkDown编辑器3notepanda3QWidgetDemo开源的demohttps://github.com/feiyangqingyun/QWidgetDemo
2021-04-27 14:52:13 320
原创 高项-常见案例答题要点
1. 可研、整体管理可行性研究内容:技术、经济、运行环境、法律、社会项目章程内容:制定计划过程中常见问题总结计划的编制原则:项目整体管理计划中应包含的内容:项目管理计划编制工作流程2. 范围管理范围管理可能问题:范围管理应对措施可能案例模式WBS的主要问题:创建WBS的原则项目范围变化将导致哪些类型的项目变更:项目范围说明书包含的内容:3. 进度管理计算:关键路径、网络图影响进度的主要因素可采取的措施:加快进度、压缩工期的方法:进度管理可能出现的问题:解决
2021-04-26 17:54:28 711
原创 20210420面试总结
原子类型_atomic在新标准C++11,引入了原子操作的概念,并通过这个新的头文件提供了多种原子操作数据类型,例如,atomic_bool,atomic_int等等,如果我们在多个线程中对这些类型的共享资源进行操作,编译器将保证这些操作都是原子性的,也就是说,确保任意时刻只有一个线程对这个资源进行访问,编译器将保证,多个线程访问这个共享资源的正确性。从而避免了锁的使用,提高了效率。用过哪些c++11的特性 c++11自动类型推导 右值引用、移动转发 智能指针多个线程如何维护同一个引用计数
2021-04-20 20:55:35 111
原创 十大管理概念(背诵)
人力资源管理领导者主要工作:确定方向、统一思想、激励个鼓励冲突解决方法:撤退/回避、缓和/包容、妥协/调解、强迫/命令、合作/解决问题项目经理的权利:职位权利、惩罚、建设项目团队的过程:规划人力资源管理、组建项目团队、建设项目团队、管理项目团队建设项目团队的目标:提高团队成员的知识和技能、组建团队方法:实现分配、谈判、招募优秀团队建设:形成阶段、震荡阶段、规范阶段、发挥阶段、解散阶段人力资源管理计划包括:角色与指责、项目组织图、人员配备管理计划输入:项目管理计划、活动资源需求、事业环境因
2021-04-16 18:08:23 4422
原创 高项-十大管理
十大管理解释及写作举例 领域 过程名 解释 写法 整体管理 制定项目章程 制定项目管理计划 指导和管理项目执行 监督和控制项目工作 变更管理 项目收尾 范围管理 范围规划
2021-04-12 09:49:37 1915
原创 40天过高项记录
这里写自定义目录标题50天过高项记录学习8点小建议每周进度安排(4.5号开始共8周时间)每日进度安排50天过高项记录考试时间2020.05.29学习8点小建议请大家一定要以基础知识为重点,认真、踏实、淡定学基础;信息系统项目管理师选择题可以只做17年11月及以后的考题。但是案例分析、以及高级的论文写作建议把之前的也看看;计算题一定要认真做,特别是案例分析里的。以后会重点讲;选择题不要纠结一个题目选什么,千万别纠结,知道考点就好,多读考点,举一反三;案例分析非计算题多读背景和答案就好,多读就
2021-04-08 09:22:06 184
原创 QT图片缩放、拖动、重置
效果图代码思路通过继承QGraphicsView自定义视图,重写wheelevent、mousePressEvent、mouseMoveEvent等事件,实现图像的自适应大小、滚轮缩放、鼠标拖动、图片重置等功能文件头#ifndef IMAGEWIDGET_H#define IMAGEWIDGET_H#include <QWidget>#include <QtGui>#include <QPixmap>#include <QPainter
2021-01-14 20:47:02 2137 2
原创 Qt之TableView使用
TableView使用中常用的方法表格宽度ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//固定某列为特定值ui->tableView->horizontalHeader()->setSectionResizeMode(0,QHeaderView::Fixed);ui->tableView->setColumnWidth(0,30);
2021-01-14 17:42:53 5033
原创 Qt Http超时处理
QEventLoop官方文档The QEventLoop class provides a means of entering and leaving an event loop.At any time, you can create a QEventLoop object and call exec() on it to start a local event loop. From within the event loop, calling exit() will force exec(...
2021-01-14 15:00:28 1736
原创 QT之D指针(二)
使用过程中遇到的问题,首先参考QT官方例子 QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart textPart; textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\"")); textPart.setBody("my tex
2021-01-11 17:09:52 265
原创 QT之D指针(一)
参考1:https://blog.csdn.net/haoxinhaoxin/article/details/79473930参考2:https://www.devbean.net/2016/11/qt-creator-source-study-07/维基百科解释:https://wiki.qt.io/D-PointerPIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏
2021-01-11 14:22:09 471 1
原创 浏览器中调用本地应用程序
参考百度云盘调用本地应用程序,在调起应用程序的同时传入一些参数,应用程序根据参数做出相应的操作。主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数。主要实现步骤如下自定义URL ProtocolWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\OCR]"URL Protocol"="D:\\OCR\\O
2021-01-04 18:34:14 1778
原创 Qt开源项目使用
qt-material-widgets 项目源码地址https://github.com/laserpants/qt-material-widgets
2021-01-04 14:37:48 742 1
转载 OCX控件在web页面不能加载的问题
https://blog.csdn.net/zhushentian/article/details/80732950 https://blog.csdn.net/smilingc/article/details/51848669
2020-12-18 15:03:51 454
原创 QTableView表头添加QCheckBox复选框
说明表格QTableView表头添加复选框,实现全选/不选功能,实现方法:继承QHeaderView,通过重写paintSection方法实现,效果图如下:代码.hclass CheckBoxHeader : public QHeaderView{ Q_OBJECTpublic: CheckBoxHeader(Qt::Orientation orientation, QWidget* parent = 0); bool isChecked() const
2020-12-13 22:00:32 1892 8
原创 OpenCV图像融合
场景:一张4通道图片与三通道图片融合,生成新的图片void newDrawHeadMask(cv::Mat &dst, cv::Mat mask){ if (mask.empty()) { return; } resize(mask, mask, cv::Size(dst.cols, dst.rows)); for (int i = 0; i < mask.rows; j++)//行 { for (int j = 0; j < mask.cols; i+
2020-11-24 14:45:20 423 1
原创 spdlog使用
目录Spdlog优点Example简单封装与使用使用中遇到的问题Spdlog优点只需包含头文件 无需依赖第三方库 支持跨平台 支持多线程 源码地址:https://github.com/gabime/spdlog Example//// Copyright(c) 2015 Gabi Melman.// Distributed under the MIT License (http://opensource.org/licenses/MIT)/.
2020-11-18 17:35:02 7054 1
原创 笔试遇到的问题记录
mian和_tmain区别_tmain()是unicode版本的的main()_tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植unicode而加入的(一般_t、_T、T()这些东西都和unicode有关系),对于使用非unicode字符集的工程来说,实际上和main没有差别(其实就算是使用unicode字符集也未必有多大的差别)。1。 main是C程序的函数,_tmain是main为了支持unicode所使用的main的别名2。 _tmain的定义在可以找到,如#def
2020-10-16 10:38:53 85
原创 char[]与char*比较
char a[] = "abc";char b[] = "abc";char *c = "abc";char *d = "abc";if(a==b) cout<< "a[] == b[] " << endl;else cout<< "a[] != b[] " << endl;if(c==d) cout<< "*c and *d == equal!" << endl;else .
2020-10-16 10:06:16 704
转载 C++常考问题
链接:https://www.jianshu.com/p/3a3b6b5b93311. 多态是什么(语义上什么意思,语法怎么实现)?虚函数是什么?虚函数底层怎么实现的?多态字面上即为多种形态,具体到C++中即为面向对象程序设计中针对一个接口进行多种实现,比如使用同一个成员名来调用类对象的成员函数产生不同的行为。静态多态是指编译时候的多态,通过函数重载或者运算符重载实现。真正的多态应该是动态(运行期)多态,语法上通过虚函数与基类指针共同作用实现。虚函数通过关键字virtual声明,告知编译器不
2020-09-27 09:18:23 387
原创 C++11相关
程序简洁、现代auto类型推导 初始化列表可以任何对象初始化;STL容器初始任意长度std::vector<int> v = {1,2,3.4,5};for循环新写法方便的对容器或者数组 遍历使用for(aoto i: a){}lambda表达式auto add = [](int a, int b) { return a + b; };std::cout << add(1, 2) << std::endl;...
2020-09-24 09:05:27 78
原创 C++常见面试问题汇总6——计算机网络
请你说一说TCP的三次握手和四次挥手的过程及原因 TCP建立连接和断开连接的过程:C-> SYN -> SS->SYN/ACK->CC->ACK->S三次握手的原因:三次握手可以防止已经失效的连接请求报文突然又传输到服务器端导致的服务器资源浪费。例如,客户端先发送了一个SYN,但是由于网络阻塞,该SYN数据包在某个节点长期滞留。然后客户端又重传SYN数据包并正确建立TCP连接,然后传输完数据后关闭该连接。该连接释放后失效的SYN数据包才到达服务..
2020-09-23 12:37:53 497
原创 priority_queue用法
leetcode:前 K 个高频元素/* * @lc app=leetcode.cn id=347 lang=cpp * * [347] 前 K 个高频元素 */// @lc code=startclass Solution {public:// 小顶堆 class mycom { public: bool operator()(const pair<int, int>& lhs, const pair<int, int...
2020-09-22 18:14:04 242 1
转载 c++ 左值引用与右值引用
转自1:https://zhuanlan.zhihu.com/p/97128024转自2:https://guodong.plus/2020/0307-190855/左值引用先看一下传统的左值引用。int a = 10;int &b = a; // 定义一个左值引用变量b = 20; // 通过左值引用修改引用内存的值左值引用在汇编层面其实和普通的指针是一样的;定义引用变量必须初始化,因为引用其实就是一个别名,需要告诉编译器定义的是谁的引用。int .
2020-09-22 14:41:15 279
原创 sizeof和sizeof(string)问题
转自:https://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.html今天看《程序员面试宝典》一书(为了应付将要到来的微软笔试),看到了sizeof(string)这个问题。在Dev C++上测试的结果是4,很不明白。上网搜了一下,得到如下结果:string strArr1[]={"Trend", "Micro", "Soft"};sizeof(strArr1)=12转自:http://apps.hi.baidu.com.
2020-09-20 18:02:01 777
原创 new和malloc的区别
new和malloc的区别 1.申请的内存所在位置 new操作符从自由存储区上为对象动态分配内存空间,而malloc从堆上动态分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new进行内存申请,该内存即为自由存储区。而堆是操作系统所维护的一块特殊内存,用于程序的动态内存分配。C语言使用malloc从堆上分配内存,使用free释放对应内存。 那么自由存储区是否可以是堆(问题等价于new是否能够在堆上动态分配内存)?这取决于operator new的实现细节。事...
2020-09-18 17:45:06 115
原创 if 与 else if的坑
leetcode-75. 颜色分类void sortColors(vector<int>& nums) { int p0 = 0, curr = 0; int p2 = nums.size() - 1; while (curr <= p2) { if (nums[curr] == 0) { swap(nums[curr], nums[p0]); curr++; p0++; } else if (nums[curr] == 2) {
2020-09-16 16:55:22 277
原创 字符串函数手写实现:strlen(), strcpy(), strstr(), strcat(), strcmp(), memcpy()
strlen()函数 功能:计算给定字符串的(unsigned int型)长度,不包括'\0'在内int strlen(const char *str) { assert(str != NULL); int len = 0; while( (*str++) != '\0') len++; return len;} strcpy()函数 功能:字符串复制函数,strcpy把含有'\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。char *..
2020-09-13 22:26:33 356
转载 虚函数表
虚机制:(*(p->vptr)[n])(p);静态绑定直接指向内存;动态绑定实现,根据p的指向调用内容不同多态-虚函数-动态绑定本质上是同一回事解释的不错的文章:https://blog.csdn.net/primeprime/article/details/80776625...
2020-09-09 10:09:16 122
va_x_setup2074 (2).zip
2021-02-24
OpenCV3.4.0_VS2015_X64.zip
2021-01-13
tesseract4.0在vs2015,x86,degug下编译
2018-11-13
Tesseract 数字识别库
2018-09-27
tesseract-ocr在VS2010下的编译,word里包括详细步骤
2018-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人