VS+OpenCV
来自西伯利亚
工欲善其事必先利其器
展开
-
opencv和contribute一起编译注意事项
win10平台下,在VS2015中编译由cmake3.12生成的opencv4.5.1+contribute4.5.1总是编译出错!改用VS2019发现cmake3.12不支持VS2019,于是换成cmake3.19,重新生成,重新编译终于成功了!注意:cmake配置过程有部分库由于无法下载而生成失败,这个不影响后续的编译工作。...原创 2021-02-04 18:16:05 · 210 阅读 · 0 评论 -
3D结构光(链接地址提供源码和文献)
最近在研究利用结构光进行三维重建,在一个网站上看到了开源的3D结构光代码,特分享地址:http://www.3dunderworld.org/该网站链接服务可提供源码下载和相关的文献。所提供的源码有更新升级,最新的源码支持GPU处理,可作为二次开发进行研究学习。------------------------------另外再提供一个在MATLAB平台下利用gray code进行三维重...原创 2019-04-19 09:27:25 · 6100 阅读 · 30 评论 -
cmake中编译opencv-contribute出现ocv_default_module无法识别
由于OpenCV自带的基础库中算法有限,特根据OpenCV附加源码(opencv-contribute)利用cmake进行编译,供Windows下VS2015使用。我采用window10+VS2015+cmake3.12+opencv3.4.5+opencv3.4.5-contributeOpenCV可以在官网下载,附加的contribute需要在GitHub上下载(特别注意二者版本需要对...原创 2019-04-16 20:29:44 · 694 阅读 · 0 评论 -
OpenCV中图像矩阵翻转、转置和特殊旋转
在OpenCV中对图像进行翻转和转置的函数,可以很方便对图像进行特殊角度的旋转!图像翻转函数cv::flip(mat_src,mat_dst,flag)其中,flag=0 绕X轴(水平轴)翻转flag>0 绕Y轴(垂直轴)翻转flag<0 同时绕X轴和Y轴翻转图像转置函数cv::tranpose(mat_src,mat_dst);//主对角不变,副对角调...原创 2018-10-30 16:02:57 · 8876 阅读 · 0 评论 -
利用SURF算法进行散斑图案拼接
最近项目中需要将两个相机拍摄的散斑局部图拼接成一个完整的散斑图,特将实际项目中使用的特征点匹配和拼接算法记录如下,便于后续查阅。----------------------------------------------------基本概念:要对图像进行拼接,首先要进行图像特征匹配(找到图像的对应关系),而要进行图像特征匹配,首先要进行图像特征的检测,所以整个流程可以表示为:图像特征检...原创 2018-10-24 22:22:13 · 2247 阅读 · 1 评论 -
OpenCV中findcontours函数hierarchy轮廓层级详解
最近在查阅OpenCV轮廓处理函数方面时,我发现有部分文章对findcontours函数中轮廓层级提取的描述有错误,特写一篇有关轮廓提取方面的文章(仅仅介绍容易出错的hierarchy层级轮廓)。函数原型为:findContours(image,contours,hierarchy,mode,method,Point());注意函数重载!以下,利用mode=CV_RETR_TREE,进行h...原创 2018-07-31 08:38:12 · 24542 阅读 · 11 评论 -
IDS相机SDK二次开发
接手的项目又用到了IDS的网口相机,需要进行双相机的出图,以及后续的视觉算法开发。以下将介绍利用IDS网口相机,在VS2013 win32控制台模式下进行相机的出图和测试(依旧使用OpenCV+ImageWatch测试效果)。首先,需要安装IDS的软件包(开发者模式),可以在官网下载对应的开发包(https://en.ids-imaging.com/download-ueye-win32.ht...原创 2018-07-19 10:57:20 · 4351 阅读 · 2 评论 -
C++中检测内存泄漏
在进行大型项目编程时,难免会出现内存泄漏,有的泄漏不易察觉,但是对于程序的压力测试来说,一点点的内存最终会引起程序的崩溃(内存被耗尽!)。在程序中添加内存泄漏检测机制非常重要!以VS2013 C++为例,可以在程序中添加头文件:#define _CRTDBG_MAP_ALLOC#include <stdlib.h>#include <crtdbg.h>以上的顺序最好不要颠倒...原创 2018-07-12 19:48:49 · 210 阅读 · 0 评论 -
Basler 多个网口相机出图(SDK版)
利用basler相机自带的SDK进行多相机出图,为了便于理解,特将多相机出图部分的程序拷贝出来,在win32控制台环境下,配合OpenCV进行出图测试。运行环境:VS2013、OpenCV2410OpenCV的安装流程可参考其它的文档此外需要安装basler相机的驱动程序,特别地,需要选择开发者模式(pylon5.0)。一切就绪后,新建win32控制台程序,并添加basler目录,...原创 2018-07-17 10:23:51 · 7847 阅读 · 19 评论 -
C++中提示 堆损坏 内存冲突 程序异常中断......
最近在做项目时,开发的算法在win32中独立运行没有问题,移植到MFC框架中,运行一直保存,并且每次报错的地方和报错的内容都不一样,排查十分困难,差不多花了我三四天的时间,今天晚上终于搞定了!每次报错的内容大概有以下几种:1.堆损坏;2.内存冲突;3.异常中断;。。。。。。我也曾经怀疑过是自己内存开辟出错,请教别人也没有看出(算法量太大,别人无法仔细查看),而且每次出错的地方也都不一样(MFC框架...原创 2018-06-19 21:23:43 · 5513 阅读 · 0 评论 -
MFC中显示图片
在MFC中显示图片,要特别注意:1.使用picture控件时,提示常量值错误,需要在对应的control上添加"Static", SS_BITMAP;2.特别注意bmp图是以左下角为坐标原点,对应的buffer数据需要对应进行翻转;3.bmp图的制作需要特别注意文件头的格式规范;----------------------------------------------显示的控件设置: CS...原创 2018-05-11 09:19:42 · 861 阅读 · 0 评论 -
基于MFC的VS使用易错点集锦
画外音:目前正在使用前人大牛用在VS中利用MFC写的标定软件,我在学习过程中针对调试出错、运行异常、软件不稳定等总结了一部分易错点,特记录于此,以便后续查阅,此外与诸位共勉之!----------------------------------------------------------------------------------------------------------------...原创 2018-03-09 19:06:51 · 295 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号
最近在用OpenCV做有关标定的项目,在调用OpenCV库函数时,遇到了以下问题:main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cv::SimpleBlobDetector::Params::Params(void)" (??0Params@SimpleBlobDetector@cv@@QAE@XZ),该符号在函数 _mai原创 2017-10-14 17:15:25 · 564 阅读 · 0 评论 -
cv::imread()读入bmp图片出错
任意拍一张图片(通常是JPG格式),在电脑画图工具中转成24位bmp图像,加载到VS中会直接报错。 在VS中的加载函数:cv::Mat img = cv::imread("circleArray.bmp", 0);//flag=0,转化为单通道灰度图 cv::imread()中flag=0时,直接将24位bmp图转成8位bmp图,但是前提是原24位bmp图需要RGB分量相同(即...原创 2017-10-13 11:34:11 · 5318 阅读 · 0 评论 -
VS中出现Stack Overflow的解决方案
在用VS+OpenCV做项目时,经常遇到堆栈溢出(Stack Overflow)的情况,其实只要在 属性 里设置一下堆栈的容积就行。具体操作如下:找到项目-属性,在 属性-链接器-系统-堆栈保留 大小中,将数值设为一个超级大的数就行,我一般设e6,并启用大地址就行。原创 2017-10-12 20:58:31 · 10309 阅读 · 0 评论