
opencv学习
文章平均质量分 75
行者1011
开朗的小棉花
展开
-
OpenCV中矩阵数据的访问(二)
上一篇文章提到了访问矩阵中元素的前两种方式,下面讲第三种方式:正确的访问矩阵中数据的方式:正确的方式前面介绍的一些读取和写入矩阵数据的方式,实际上,你可能很少会使用它们。因为,在大多数情况下,你需要使用最有效率的方式来访问矩阵中的数据。如果使用以上的函数界面来访问数据,效率比较低,你应该使用指针方式来直接访问矩阵中数据。特别是,如果你想遍历矩阵中所有元素时,就更需要这样做了。在用指转载 2014-04-29 17:41:04 · 527 阅读 · 0 评论 -
cvGetSubRect与cvMul用法
vGetSubRect与cvMul用法1、对于cvGetSubRect(mat1, mat2, rect),当用cvGetSubRect函数时,不能事先对mat2申请内存,否则会产生内存泄漏。只要这样定义mat2即可:CvMat *mat2; mat2 = cvCreateMatHeader(imgHeight, imgWidth, CV_64FC1); 2转载 2014-05-21 17:35:02 · 839 阅读 · 0 评论 -
【OpenCV】访问图像中每个像素的值
转载请注明出处:http://blog.youkuaiyun.com/xiaowei_cqu/article/details/7557063!!此篇是基于IplImage* (C接口或者说2.1之前版本的接口,新的Mat的访问方式请参考博文:《访问Mat图像中每个像素的值》)IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel转载 2014-05-21 02:39:30 · 402 阅读 · 0 评论 -
vs2010安装记录+计算机丢失tbb_debug.dll”问题解决办法
开始使用vs2008试用版的,谁知道到期了,zh原创 2014-05-27 16:37:05 · 852 阅读 · 0 评论 -
OpenCV2.3.1在Win7+VS2010下的配置过程
1. 假定电脑上已经安装了VS2010程序,若没有,首先安装vs2010。下载OpenCV2.3.1,网址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/,下载的文件名为“OpenCV-2.3.1-win-superpack.exe”。2. 解压上述下载的文件,可以解压到任何磁盘,此处解压到D:转载 2014-05-29 02:25:24 · 589 阅读 · 0 评论 -
cvGoodFeaturesToTrack和(CV::Mat 下的goodFeaturesToTrack)
bool xor_match( Mat sub_mat, Mat template_image);int main(void){int cornersCount=MAX_CORNERS;CvPoint2D32f corners[MAX_CORNERS];IplImage *srcImage = 0,*grayImage = 0,*corners1 = 0,*corners2 =原创 2014-05-28 17:39:29 · 1789 阅读 · 0 评论 -
vs2010断点调试技巧(设置条件断点)
一个好的调试器,能够帮助程序员处理很多自动化的工作。试想下列的情形:1. 错误是发生在一个循环当中,只在循环遍历了若干次以后,才会出现。2. 错误只在程序中某个变量为一个特定的值,才会出现,而这个变量的值是在程序运行的过程中随机设置的。3. 多个线程都要调用同一个函数,而你只想在某几个线程执行这个函数的时候,中断程序的执行。在上面列出原创 2014-05-29 23:49:29 · 9977 阅读 · 1 评论 -
计算机视觉和模式识别的源码集
UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下:https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/index.html TypeTopicNameReferenceLinkCode转载 2014-12-22 10:09:04 · 1995 阅读 · 0 评论 -
opencv对xml文件的创建,写入,读操作
1.CvFileStorage结构//3-16 CvFileStorage结构,数据通过CxCore数据存储函数访问 typedef struct CvFileStorage { ... //hidden fields }CvFileStorage; 2.写入简单的数据和结构#include "stdafx.h" #in原创 2015-05-06 11:42:44 · 4012 阅读 · 0 评论 -
分享一些OpenCV实现立体视觉的经验
尝试用OpenCV来实现立体视觉也有一段时间了,主要的参考资料就是Learning OpenCV十一、十二章和OpenCV论坛上一些前辈的讨论。过程中磕磕碰碰,走了不少弯路,终于在前不久解决了最头大的问题,把整个标定、校准、匹配的流程调试成功。(虽然还有一些问题至今尚未搞清)在这里写这篇文章,第一方面是给自己一个总结,第二方面是感觉OpenCV立体视觉方面的资料还是相当零散和不完整,新手入门需转载 2015-06-07 11:38:18 · 6919 阅读 · 0 评论 -
双目视觉测量的,极线匹配
基于OpenCV的立体匹配与极线几何测试,VC6+OpenCV+MDI框架,匹配用SIFT,基础矩阵算法可选,默认为RANSAC。鼠标在左或右图单击,在另一图上则画出对应的极线,蓝色表示。当年的日志:完成cpp版的sift移植.2:16 2006-5-26贴一点代码:[cpp] view plaincopyvoid原创 2015-06-10 11:07:33 · 4827 阅读 · 0 评论 -
OpenCv cv::Mat类用法
penCv cv::Mat类用法11、使用准备:using namespace cv;2、Mat的声明Mat m=Mat(rows, cols, type);Mat m=Mat(Size(width,height), type);Mat A=Mat(3,4,CV_32FC1);Mat B=Mat(4,3,CV_32FC1);3、Mat赋值转载 2014-06-04 01:26:30 · 1102 阅读 · 0 评论 -
直方图CvHistogram结构的分析和理解
用到了直方图结构体:CvHistogram,现在来具体的研究一下这个结构。定义:typedef struct CvHistogram{ int type; CvArr* bins; float thresh[CV_MAX_DIM][2]; float** thresh2;原创 2014-05-13 02:43:09 · 957 阅读 · 0 评论 -
OpenCV中矩阵数据的访问(非常好)非常全
在OpenCV中有三种方式访问矩阵中的数据元素:容易的方式,困难的方式,以及正确的方式。以下先讲容易的方式和困难的方式。容易的方式最容易的方式是使用宏CV_MAT_ELEM( matrix, elemtype, row, col ),输入参数是矩阵的指针,矩阵元素类型,行,列,返回值是相应行,列的矩阵元素,例如:CvMat* mat = cvCreateMat(5,5,CV_32FC1转载 2014-04-29 15:47:54 · 2189 阅读 · 0 评论 -
opencv中cvmat的通道学习
看了一天的cvmat介绍,既然没看懂通道什么意思。jiz原创 2014-04-30 01:01:58 · 814 阅读 · 0 评论 -
opecv中cvAdds和cvAdd中的mask的用法探讨
学习到cvAdd中看到其定义为:原创 2014-04-30 02:04:48 · 1408 阅读 · 0 评论 -
(非常好)计算匹配点的三维坐标
#include #include #include "cxcore.h"#include #include #include #include void PrintMat(CvMat *A){ int i,j; //printf("\nMatrix=:"); for(i=0;irows;i++) { pri转载 2014-05-01 01:50:36 · 1725 阅读 · 0 评论 -
(CvFileNode 结构) 终于被找到了 /* 文件节点类型 file node type */
/* 文件节点类型 file node type */#define CV_NODE_NONE 0#define CV_NODE_INT 1#define CV_NODE_INTEGER CV_NODE_INT#define CV_NODE_REAL 2#define CV_NODE_FLOAT CV_NODE_R转载 2014-05-01 01:54:32 · 4340 阅读 · 1 评论 -
cvSeq的学习
今天在研究《学习opencv》时发现原创 2014-05-01 02:46:18 · 799 阅读 · 0 评论 -
OPENCV中的数据存储
例:往磁盘上写一个配置文件cfg.xmlCvFileStorage* fs = cvOpenFileStorage( 'cfg.xml', 0, CV_STORAGE_WRITE ); cvWriteInt( fs, 'frame_count', 10 ); cvStartWriteStruct( fs, 'frame_size',原创 2014-05-01 01:17:46 · 886 阅读 · 0 评论 -
opencv鼠标响应事件学习整理
Highgui 细解几个不常用的函数:int cvDestroyAllWindows(void) :关闭所有窗口,并且释放窗口内存空间;int cvStartWindowThread(void):创建一个线程来自动更新窗口及处理窗口触发事件,创建失败,返回值为0;OPENCV 里的鼠标响应事件:1,先举个小例子,然后按照例子里的说明:在一转载 2014-05-03 00:42:31 · 719 阅读 · 0 评论 -
图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可避免转载 2014-05-07 17:32:27 · 1803 阅读 · 0 评论 -
霍夫变换理解
设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距。过某一点(x0,y0)的所有直线的参数都会满足方程y0=kx0+b。即点(x0,y0)确定了一组直线。方程y0=kx0+b在参数k--b平面上是一条直线,(你也可以是方程b=-x0*k+y0对应的直线)。这样,图像x--y平面上的一个前景像素点就对应到参数原创 2014-05-07 23:35:20 · 1607 阅读 · 0 评论 -
OPENCV 反向投影的理解
用反向投影, 基于块的反向投影 和 模板匹配寻找目标物体 *1)要可视化反向投影结果,则不能用归一化直方图, 因为结果图像中的值就是hist相应bin的值 *2)匹配结果很好,但是计算时间太长! 不能接受 *3) 注意三个函数处理后的结果图像的大小和位数. back_project的结果图必须是8bit,不能是32; block反向投影的结果图必须是浮点; 模板比配的结果图,8bit转载 2014-05-15 00:46:36 · 2451 阅读 · 0 评论 -
OpenCV控制摄像头实现拍照
OpenCV控制摄像头实现 拍照功能注意注释部分,其中使用的比较生疏的 API 包括 cvPyrDown , cvCreateCameraCapture以及 cvCopy 和 cvSaveImage下面就来一一解释这几个 API 的具体使用: void cvPyrDown( const CvArr* src, CvArr* dst, i转载 2014-05-16 15:42:09 · 1114 阅读 · 1 评论