OpenCV
billbliss
这个作者很懒,什么都没留下…
展开
-
OpenCV3.3+CUDA9.2
使用Cmake编译opencv源码遇到如下错误CMake Error: The following variables are used in this project, but they are set to NOTFOUND.Please set them or make sure they are set and tested correctly in the CMake files:...原创 2019-06-05 16:13:51 · 527 阅读 · 0 评论 -
opencv2 opencv3 并存
我将opencv2编译并安装之后发现有的是后需要安装opencv3这里讲一下opencv3的详细方法先下载opencv3.3源代码在目录中创建build文件夹再配置安装目录,并编译mkdir buildcd build/cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ope原创 2017-08-17 10:23:11 · 937 阅读 · 0 评论 -
build opencv extra module
Opencv的extra module在地址 https://github.com/opencv/opencv_contrib官方的介绍是说complete this OPENCV_EXTRA_MODULES_PATH by the proper pathname to the /modules value using its browse button.实际操原创 2017-08-03 08:56:39 · 660 阅读 · 0 评论 -
opencv for python on ubuntu linux 环境搭建
在系统中编译好opencv会在路径中生成so库比如我的路径 /home/bliss/opencv-2.4.13.2/build/lib 中生成 cv2.so然后在~/.bashrc 中添加环境变量即可#opencv2 pathexport PYTHONPATH=/home/bliss/opencv-2.4.13.2/build/lib:$PYTHONPATH验证一下原创 2017-06-21 11:57:25 · 1523 阅读 · 0 评论 -
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
linux下对于自己编译的opencv版本调用视频抓取的时候,有时会出现 HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP方法1. 安装 依赖库 (有人说只需要libv4l-dev ,没有试过)sudo apt-get install libv4l-dev sudo apt-get install v4l2ucpsudo apt-ge原创 2017-05-15 14:13:02 · 5822 阅读 · 0 评论 -
ubuntu16.04 编译和配置openni2 opencv2 libfreenect2(OpenKinect)
配置openni2.2 建议使用后期维护的一个版本https://github.com/occipital/OpenNI2具体可以参考安装说明配置opencv2.4.13 可以参考官方网站 Installation in Linuxhttp://docs.opencv.org/2.4/doc/tutorials/introduction/linux_in原创 2017-02-22 17:40:35 · 8290 阅读 · 0 评论 -
OpenCV 点集匹配
本文是转载 + 自己心得 , 参考文献后面写estimateRigidTransform():计算多个二维点对或者图像之间的最优仿射变换矩阵 (2行x3列),H可以是部分自由度,比如各向一致的切变。getAffineTransform():计算3个二维点对之间的仿射变换矩阵H(2行x3列),自由度为6.warpAffine():对输入图像进行仿射变换findHomography:转载 2016-12-29 16:54:23 · 3553 阅读 · 0 评论 -
opencv kalman filter
#include #include #include using namespace cv;using namespace std;const int winWidth = 800;const int winHeight = 600;Point mousePosition = Point(winWidth >> 1, winHeight >> 1);//mouse cal转载 2016-11-29 14:19:55 · 915 阅读 · 0 评论 -
opencv 3.0 图像去畸变 undistortion
主要用到的是 initUndistortRectifyMap这个函数在opencv中这个函数是用于 去除镜头畸变的图像拉伸为了快速算法:使用了坐标查找变和双线性差值的方法原创 2016-09-13 16:53:00 · 26537 阅读 · 4 评论 -
opencv 3.0 仿射变换 图形旋转 getRotationMatrix2D warpAffine
图形旋转 主要用矩阵实现坐标系的变换两个函数比较重要:getRotationMatrix2D 获取旋转矩阵warpAffine 实现坐标系变换不多说,上例子:void rotate_test(){ Mat image(240, 320, CV_8U, Scalar(0)); Point center(130, 55); double原创 2015-02-12 09:52:48 · 8319 阅读 · 0 评论 -
opencv 3.0 求均值 标准差 mean MeanStdDev
opencv 中mean,MeanStdDev以下是一个计算单通道矩阵所有元素均值和标准差的例子。首先是将图像转化为灰度图。mean, meanStdDev计算结果是double类型的。mean返回的值是Scalar,就是vector类型的数组。所以当要Scalar的元素,要用[n]方式访问。meanStdDev计算的均值和标准差都以Mat形式返回,这里返回的是1X1的矩阵。所以访问结果,要访问Mat的元素。原创 2015-03-10 18:08:00 · 42650 阅读 · 2 评论 -
opencv 3.0 vs2010 qt5.4.0 cmake
大部分可参考:http://blog.csdn.net/qiurisuixiang/article/details/8665278但是遇到了找不到:Qt5Concurrent_DIR,Qt5Core_DIR,Qt5Gui_DIR,Qt5Test_DIR,Qt5Widgets_DIR,Qt5OpenGL_DIR not found路径在: D:\Qt\Qt5.4.0\5.原创 2015-02-01 22:02:38 · 1508 阅读 · 0 评论 -
opencv 3.0 LUT GPU加速
opencv 自带了一个查找表函数,可以实现并行快速查找的运算。有GPU加速功能void LUT_test(){ Mat lookUpTable(1, 256, CV_8U); uchar *ptr = lookUpTable.data; for (int i=0; i<256; ++i) ptr[i] = (i >> 1) << 1; //col原创 2015-03-28 16:12:22 · 1752 阅读 · 0 评论 -
opencv viz module example
opencv在viz有4个例程Launching VizPose of a widgetTransformationsCreating Widgets其中前3个比较通用下面就逐一介绍一下有些地方写的不太好 我已经修改了代码1. Launching Viz 知识点Open a visualization window.Access a wi原创 2017-08-03 11:23:47 · 2375 阅读 · 1 评论 -
opencv viz 模块的键盘操作 registerKeyboardCallback
opencv中键盘操作比较简单的是imshow中的在imshow的窗口激活的时候 如果有按键按下 则可以使用waitKey()来获取键盘的键值当然复杂一点也能使用回调函数来做 之前的博文中已经有相关的介绍了就不在这里展开了今天讲一讲最近使用点云显示模块viz时候需要用一些交互 于是乎发现waitKey()在viz::Viz3d中不能起作用下面详细说一下 vi原创 2017-08-10 20:33:28 · 2136 阅读 · 0 评论 -
坐标系转换 之 欧拉角转旋转矩阵 [opencv / Eigen]版本对比
Eigen::Matrix3d rotation; cv::Vec3d theta(1, 2, 3); cv::Mat R_x = (cv::Mat_<double>(3,3) << 1, 0, 0, 0, cos(theta[0]), -sin(theta[0]), 0, s...原创 2018-12-02 00:46:07 · 2743 阅读 · 1 评论 -
opencv stereo 解析
双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标https://blog.csdn.net/chenyusiyuan/article/details/5961769双目测距与三维重建的OpenCV实现问题集锦(二)双目定标与双目校正https://blog.csdn.net/chenyusiyuan/article/details/5963256双目测距与三维重建的OpenCV...原创 2018-06-19 16:58:09 · 2078 阅读 · 0 评论 -
Opencv3.2各个模块功能详细简介(包括与Opencv2.4的区别)
感谢之前一个博友的留言说工程实际中Opencv各个模块封装成一个world的dll会太过冗余,所以今天来把几个主要的功能模块的主要功能整理下,方便之后的拆分调用。如果对于某些模块有疑问,欢迎留言交流,之后或可以重点再去补充文章中某些部分的内容。Opencv官方首页给的Reference说明文档是2.4.13.2版本的…………官网说明链接3.2版本的模块说明:Opencv3.2模块首先打开openc...转载 2018-05-15 23:08:38 · 822 阅读 · 0 评论 -
Mingw 以及cmake 的联合使用
mingw有很多种安装版本这里推荐使用TDM-GCC 可以支持32和64位的方式安装方便,环境变量也能自动设置(所以安装完需要重启)http://tdm-gcc.tdragon.net/下面介绍mingw和cmake项目的使用在项目中会新建build目录,并生成编译的工程这里先写一个命令行中用VS生成的方式 cmake在安装了VS的环境下默认使用VS生成工程mkdir buildvscd bui...原创 2018-02-10 11:16:09 · 987 阅读 · 0 评论 -
OTSU 全局自适应阈值分割 自动二分类
OTSU 是一个自动的阈值分割主要针对全局分割,是个自适应二分类问题记T为前景与背景的分割阈值,前景点数占图像比例为ω0,平均灰度为μ0;背景点数占图像比例为ω1,平均灰度为μ1,图像的总平均灰度为μ,前景和背景图象的方差g,则ω0=N0/ M×N (1)ω1=N1/ M×N (2)N0+N1=M×N (3)ω0+ω1=1 (4)μ=ω0*μ0+ω1*μ原创 2018-01-31 20:50:48 · 975 阅读 · 0 评论 -
RANSAC LMedS 详细分析
RANSAC的函数接口 参照opencv来说主要需要3-4个参数(第四个不是必须的)1. 误差阈值ransacThreshold:区分inlier和outliner的依据2. 置信度confidence:设置之后代表RANSAC采样n次过程中会出现(至少一次)采样点数据集中的点都为内点的概率这个值设置的太大,会增加采样次数。太小,会使结果不太理想。3. 最大采样迭代次数maxIte原创 2017-11-21 14:38:12 · 8871 阅读 · 2 评论 -
tracking in opencv
opencv_contrib在新版本中已经加入了tracking的一些最新成果下面简单列举下GOTURNKCF Median FlowMILTLDBoostingSVM原创 2017-09-27 20:35:24 · 444 阅读 · 0 评论 -
KCF目标跟踪方法分析与总结
看了KCF,发现几篇博文总结的很棒,后面仅贴上最详细的链接http://www.cnblogs.com/YiXiaoZhou/p/5925019.htmlhttp://blog.csdn.net/shenxiaolu1984/article/details/50905283http://www.jianshu.com/p/9aacd075a689读"J. F转载 2017-09-27 20:40:56 · 915 阅读 · 0 评论 -
opencv源码修改与使用:fastNlMeansDenoisingMulti()对CV_16U的支持
在opencv3.3中我在使用fastNlMeansDenoisingMulti()我发现说函数 当输入的参数是NORM_L1 支持U16类型的图像输入格式但是在实际使用中一直在报错 说"Unsupported image format! Only CV_8U, CV_8UC2, CV_8UC3 and CV_8UC4 are supported"于是乎我就看了下opencv phot原创 2017-09-14 11:32:42 · 3581 阅读 · 0 评论 -
build opencv hdf module 配置hdf5路径
在opencv中build world之后会报错说 LINK2019 hdf5链接错误说明链接这个库的时候缺失了hdf5相关库解决方法1. 下载 HDF5-1.10.1-win32.msi 并安装我下载了win7-vs2013的预编译版本2. 在opencv_world工程中添加相关路径和库文件比如库目录添加:D:\Program Files (x86)\H原创 2017-08-12 11:26:09 · 2925 阅读 · 1 评论 -
build opencv cmake-gui 配置eigen路径
对于eigen的目录配置设置EIGEN_INCLUDE_PATH为 D:/Program Files (x86)/PCL 1.8.0/3rdParty/Eigen/eigen3因为在opencv中的使用是 #include 所以在EIGEN_INCLUDE_PATH目录下要有Eigen/Core这个文件原创 2017-08-03 09:18:55 · 2822 阅读 · 0 评论 -
build opencv viz module 配置VTK路径
以下是官方给出的编译步骤Build OpenCV with VTK.1. set WITH_VTK= On in CMake-Gui2. set VTK_DIR = path-to-build-directory-of-VTK3. compile OpenCV这里有个注意点:set VTK_DIR = path-to-build-directory-of-V原创 2017-08-02 23:08:19 · 2829 阅读 · 0 评论 -
opencv 3.0 形态学运算 erode dilate
腐蚀和膨胀是相对于白色部分的(RGB图是浅色部分的)膨胀(dilate) 局部最大值(浅色)扩大一圈。腐蚀(erode) 局部最小值(深色)扩大一圈。开运算(open) 纤细处分离物体,消除小黑点闭运算(close) 连接小的空隙形态学梯度(morph-grad) 将突出团块(blob)的边缘顶帽(top-hat) 将突出比原轮廓亮的部分黑帽(black-hat) 将突出比原轮廓暗的部分算法:开运算 = 腐蚀 + 膨胀闭运算 = 膨胀 + 腐蚀形态学梯度 = 膨胀 - 腐蚀顶帽 =原创 2015-03-28 21:53:34 · 5464 阅读 · 0 评论 -
opencv 3.0 鼠标操作 setMouseCallback
网上有贴出opencv中 setMouseCallback 的参数表但是对于怎么用的,却没有太多实例不多说,上代码: 值得注意的是:(调试N久才发现的大教训!)以前用imshow,都不一定先调用nameWindow,而这里必须先调用nameWindow,再使用setMouseCallback。否则setMouseCallback不会运作的。 void leftC原创 2015-02-02 12:59:42 · 2344 阅读 · 0 评论 -
opencv3.0 复数操作 Mat元素为复数 / Point
复数操作 Mat元素为复数 / Point原创 2015-03-05 19:48:17 · 4614 阅读 · 1 评论 -
opencv 3.0 绘图 highgui
绘图的时候最常用的是highgui需注意的是:绘图填充 需要赋值thickness thickness – 绘图边框的粗细. 负值(CV_FILLED = -1)相关函数介绍Point该数据结构表示了由其图像坐标 和 指定的2D点。可定义为:Point pt;pt.x = 10;pt.y = 8;或者Point pt = Point(10, 8);转载 2015-02-12 09:57:42 · 939 阅读 · 0 评论 -
opencv 3.0 边缘检测
经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。常用的边缘检测方法有Roberts算子、Sobel算子、Prewitt算子、Scharr算子、Kirsch算子、Laplacian算子、LOG 算子、Canny算子等。 以下是opencv 边缘检测(reberts,sobel,prewitt,kirsch) http://blog.csdn.net/haozivv/转载 2015-01-24 15:01:37 · 1237 阅读 · 0 评论 -
opencv 3.0 Mat STL 迭代器的使用
先上代码一:void iterator_test1(){ Mat img = Mat::eye(3,3,CV_8U); Mat_::iterator it = img.begin(); Mat_::iterator itend = img.end(); for(; it != itend; ++it) { *it原创 2015-01-17 16:54:10 · 1861 阅读 · 0 评论 -
opencv 3.0 Mat遍历:指针和STL
一. opencv 中的高效遍历自然是指针遍历 先上最优的代码以下实例是参考OPENCV书上的功能:像素颜色减少1. 当数据存储内有补齐,是连续的。则使用指针统一遍历2. 当多通道,内循环顺次处理3通道。减少循环的跳转。// using .ptr and * ++ and bitwise (continuous+channels)void colorReduce(c转载 2015-01-19 10:45:09 · 1058 阅读 · 0 评论 -
opencv 3.0 直方图的计算
calcHist()计算直方图,支持多图,支持掩码normalize()归一化http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/histogram_calculation/histogram_calculation.html#histogram-calculation equ转载 2015-01-20 15:54:29 · 1393 阅读 · 0 评论 -
opencv Mat 求元素 中值 均值 总和
float Median_Mat_32f(Mat img){ float *buf; buf = new float[img.rows*img.cols]; for (int i =0; i < img.rows; i++) { for (int j = 0; j < img.cols; j++) {原创 2015-01-31 21:50:11 · 11014 阅读 · 0 评论 -
opencv 3.0 形态学运算 膨胀与腐蚀
膨胀 dilation考虑两幅二值图像A,B。它们的前景用黑色,背景用白色。另fA和fB表示各自前景点的集合。定义膨胀运算为:dilation(A,B) = {a+b| a∈A,b∈B}。比如:A = {(2,8),(3,6),(4,4),(5,6),(6,4),(7,6),(8,8)}B = {(0,0),(0,1)}dilation(A,B) = {(2,8),(2,9),转载 2015-01-20 17:04:46 · 1426 阅读 · 0 评论 -
opencv bilateral filter vs matlab bilateral filter 双边滤波
网上有关于双边滤波的matlab程序,但是有BUG在研究生阶段自己用C写的,于是自己matlab写了一个新的 双边滤波做的单通道的,目前用于灰度图function resultI = BilateralFiltGray(I,d,sigma)[m n] = size(I);newI = ReflectEdge(I,d);resultI = zeros(m,n);w原创 2015-01-22 10:19:12 · 1666 阅读 · 0 评论 -
opencv 3.0 相机校准 Calibration Calib
最近使用opencv3.0 发现宏定义居然改变了 不过有规律可循。大部分是将之前的 CV_去掉就好了 err = norm(Mat(imagePoints[i]), Mat(imagePoints2), CV_L2);CV_L2 改为 NORM_L2cornerSubPix( viewGray, pointBuf, Size(11,11),原创 2015-02-03 16:32:33 · 2455 阅读 · 0 评论 -
VS2010 + OPENCV3.0 +WIN7
VS2010 + OPENCV3.0 +WIN7转载 2014-12-31 15:37:23 · 1779 阅读 · 0 评论