![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
caiqi1123
caiqi1123
展开
-
opencv如何对视频进行编解码
VideoCapture captRefrnc(“Megamind.avi") || \//*cap.cpp文件*/CV_IMPL CvCapture * cvCreateFileCapture (const char * filename){ CvCapture * result = 0;原创 2014-03-11 13:58:18 · 6984 阅读 · 0 评论 -
直方图之calcHist使用 .
OpenCV图像处理 图像的点运算 ( 灰度直方图 ) OpenCV灰度直方图Theory :从图形上看,灰度直方图是一个二维图:图像的灰度直方图是一个离散函数,它表示图像每一灰度级与该灰度级出现频率的对应关系。假设一幅图像的像素总数为 N,灰度级总数为 L,其中灰度级为 g 的像素总数为 Ng,则这幅数字图像的灰度直方图横坐标即为灰度 g ( 0转载 2012-11-04 21:58:39 · 7111 阅读 · 2 评论 -
OpenCV统计应用-直方图反向投影
影像处理的统计直方图,可以知道一张图片在该色彩空间的数据分布状况,而这边,就要介绍到直方图反向投影的函式,直方图反向投影,也就是将数据分布的状况依照Look-up table的方式对应回去,实际上,这个函式是跟前面介绍到的cvLUT()是一样的,只不过,差别是差异在cvLUT()的第三个自变量改变成CvHistogram数据结构的输入,直方图反向投影,cvCalcBackProject()的第一个转载 2012-11-04 11:46:09 · 1294 阅读 · 0 评论 -
opencv之saturate_cast模板函数
saturate_cast¶Template function for accurate conversion from one primitive type to another. _Tp saturate_cast(_Tp2 v)">C++:template _Tpsaturate_cast(_Tp2v) _Tp saturate_cast(_Tp2 v)">¶Pa原创 2012-11-02 09:18:25 · 16799 阅读 · 0 评论 -
regionprops Matlab function之opencv的cvBlobsLib
cvBlobsLibTable of contents ContentscvBlobsLibBlob extraction libraryNewsFeaturesDownloadBuild intructionsDocumentationAlgorithmProject samplesCode examplesBlob extra转载 2012-09-19 11:34:25 · 3698 阅读 · 0 评论 -
Basic OCR in OpenCV
http://blog.damiles.com/category/tutorials/opencv-tutorials/(damile的个人主页,里面有很多opencv教程)https://github.com/damiles/basicOCR(代码下载)In this tutorial we go to create a basic number OCR. It consist to c转载 2012-09-19 09:57:07 · 1538 阅读 · 0 评论 -
opencv 之 mixChannels
Copies specified channels from input arrays to the specified channels of output arrays.C++:void mixChannels(const Mat* src, int nsrc, Mat*dst, int ndst, const int* fromTo, size_tnpairs)P转载 2012-09-18 10:22:56 · 1780 阅读 · 0 评论 -
opencv深入学习(七)——square.cpp
// The "Square Detector" program.// It loads several images sequentially and tries to find squares in// each image#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "原创 2012-09-13 14:37:38 · 1906 阅读 · 0 评论 -
OpenCv中没有找到tbb_debug.dll的解决办法
在OpenCv中,如果遇到了提示没有tbb_debug.dll的错误,解决办法如下:在opencv-2.3.1\build\common\tbb\ia32\vc10的下面有个tbb.dll文件,把它复制到你的工程debug目录下改成tbb_debug即可。很简单的,大家试试看~~~~转载 2012-09-27 19:37:18 · 1326 阅读 · 0 评论 -
opencv直方图使用学习
from:http://www.cnblogs.com/tornadomeet/archive/2012/05/03/2480824.html基础学习笔记之opencv(4):直方图使用学习目的: 直方图在cv领域到处可见,因为其功能在cv算法的实现中比不可少。Opencv库中也集成了关于直方图的不少函数,比如直方图的计算,均衡,归一化,相似度比较等等。为了体验这些函数,做了转载 2012-11-05 17:08:01 · 1793 阅读 · 0 评论 -
OpenCV中矩阵的归一化(normlise函数)
from:http://windrocblog.sinaapp.com/?p=486OpenCV中矩阵的归一化发表于 2012 年 6 月 30 日由 windroc图像处理中,图片像素点单通道值一般是[0-255]的unsigned char类型,将其转化到[0,1]之间,更方便计算,这就需要用到矩阵的归一化运算。今天,写程序中需要对某矩阵归一化,用OpenCV的cv转载 2012-11-05 17:55:03 · 14452 阅读 · 0 评论 -
Opencv 转成Halcon格式
Hobject IplImageToHImage(IplImage *img){ char messege[1024]; Herror HalconError; Hobject Hobj; //IplImage *img = cvLoadImage("d:/04.jpg", 0); HalconError=gen_image1(&Hobj,"byte",img->widt转载 2013-06-12 22:17:43 · 3159 阅读 · 0 评论 -
opencv中IplImage字节对齐问题
最近利用做项目,遇到了一个问题:我是用opencv读的图像,然后自己新开辟了一个空间,以下是代码 Byte *inputImage=NULL;IplImage* image_get=NULL;image_get=cvLoadImage(imageName,0); imageWidth=image_get->width; imageHeight=image_get->he转载 2013-06-02 22:45:31 · 1337 阅读 · 0 评论 -
外围轮廓的妙用
为了消除类似于左边的阴影(蓝色椭圆内),先将图像二值化得到求出白色像素中最大的轮廓,该轮廓所包含的区域即是除掉阴影边界的区域。最后以白色像素为mask,进行复制,就可以得到图像原创 2012-12-31 18:06:03 · 1171 阅读 · 0 评论 -
OpenCV+MFC显示图像/视频
http://www.cnblogs.com/Romi/archive/2012/05/07/2487652.htmlOpenCV中文网站上有讲怎么使用OpenCV读入和显示图像和视频图像文件读入和显示:http://www.opencv.org.cn/index.php/%E5%9B%BE%E5%83%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%85%A转载 2012-12-14 16:14:16 · 1778 阅读 · 0 评论 -
OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
from:http://ggicci.blog.163.com/blog/static/210364096201261052543349/The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It can be used to stor转载 2012-11-13 18:23:53 · 1266 阅读 · 0 评论 -
OpenCV 视频监控(Video Surveilance)概述
http://lh2078.blog.163.com/blog/static/568113722010711705926/多年来在从事视频监控技术研究的过程中,一直需要这样一个平台,一方面可以提供众多成熟的检测、跟踪、轨迹分析算法,另一方面具备良好的编程接口,这样就可以将自己的算法很方便的嫁接进这个系统,测试和对比各种算法的优劣性能。而OpenCV 视频监控模块(Video Surveilan转载 2012-10-12 13:58:58 · 1453 阅读 · 0 评论 -
OpenCV 视频监控(Video Surveilance)的架构
OpenCV VS与普通OpenCV函数不同在于:普通cxcore、cv函数均是C函数,而VS是利用C++的接口、多态、继承等技术构建起来的体系,由一些类、结构、全局函数组成。所以要学习和使用VS,要有较强的C++基础。“勿在浮沙筑高台”,如果不懂接口、多态、继承等C++的基本技术,还是去恶补一下再回来。打开opencv.dsw工程,可以在CVAUX下看到许多结构和类定义,VS部件多数以C转载 2012-10-12 14:02:42 · 1987 阅读 · 0 评论 -
OpenCV 视频监控(Video Surveilance)的算法体系
如前面说到的,OpenCV VS提供了6组算法的接口,分别是:前景检测、新目标检测、目标跟踪、轨迹生成、跟踪后处理、轨迹分析,除了轨迹生成用于轨迹数据的保存以外,其他5个部分都是标准的视频监控算法体系中不可或缺的部分。 OpenCV在Blob_Tracking_Modules.doc文档中,提供了算法的关系图,如下。图中唯独缺少了轨迹分析部分,可能是因为在该文档形成的时候轨转载 2012-10-12 14:07:52 · 1695 阅读 · 0 评论 -
c++ vector 释放内存
1.释放单个指针关于Vector中存放指针的问题,在进行清空的时候比较安全的一种做法是: std::vector ClassNameVec; ...push_back(new ClassName()); std::vector::iterator ClassNameIt = ClassNameVec.begin(); for(;ClassNameIt转载 2012-09-07 22:19:19 · 1827 阅读 · 0 评论 -
c++ vector
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :#include 使用vector有两种不同的形式,即所谓的数组习惯和STL习惯。一、数组习惯用法1. 定义一个已知长度的 vector :vector ivec( 10 ); //类似数组定义int i转载 2012-08-24 22:20:52 · 1118 阅读 · 0 评论 -
opencv外接矩形和矩阵提取的细节探讨
目标:(1)在一幅二值图提取目标,要求目标外围有一个像素宽的背景像素。如: 。该图是20×40。外围有一个像素的宽度的背景像素(值为255)。为后面描述方便,将该图以3.bmp命名。通过matlab分析得到的像素值如下: 。(2)在opencv用rectangle函数画矩形,当参数为一个像素宽时,颜色值假设为128,要求线条刚好在最外层。 #include原创 2012-09-06 18:30:51 · 3538 阅读 · 0 评论 -
OPENCV 行列投影
#include "stdafx.h"#include #include int _tmain(int argc, _TCHAR* argv[]){ IplImage * pImg=cvLoadImage("c://test.jpg",0); cvNamedWindow("ShowImage",1); cvNamedWindow("result",1); cvNamedWind转载 2012-08-18 17:00:47 · 1541 阅读 · 0 评论 -
opencv深入学习(5)—ROI区域
#include "stdafx.h"#include "highgui.h"#include "cv.h"#include using namespace std;using namespace cv;void main(){ IplImage *src=cvLoadImage("lena.jpg",-1);//读入图像 IplImage *dst; CvRe转载 2012-08-18 10:18:19 · 788 阅读 · 0 评论 -
opencv深入学习(4)—opencv2Mat各个元素的方位方法
内容来自《OpenCV 2 Computer Vision Application Programming Cookbook》OpenCV2 访问图像的各个像素有各种方法我们来用各种方法来实现减少图像的颜色数量color = color/div*div +div/2;若div为8,则原来RGB每个通道的256种颜色减少为32种。若div为64,则原来RGB每个通道的256种颜色转载 2012-08-17 17:36:23 · 1250 阅读 · 0 评论 -
opencv深入学习(3)-- Mat格式的几个参数以及几种元素存取方法的讨论
#include "stdafx.h"#include #include #include #include using namespace cv;using namespace std;#pragma comment(lib,"opencv_core220d.lib")#pragma comment(lib,"opencv_highgui220d.lib")int _t转载 2012-08-17 17:29:32 · 1254 阅读 · 0 评论 -
opencv深入学习(2)--Scalar类型
CvScalar定义可存放1—4个数值的数值,其结构体如下:typedef struct CvScalar{double val[4];}CvScalar;例如:CvScalar s;如果使用的图像是1通道的,则s.val[0]中存储数据如果使用的图像是3通道的,则s.val[0],s.val[1],s.val[2]中存储数据cvGet2D 获得转载 2012-08-17 16:50:54 · 7266 阅读 · 0 评论 -
opencv深入学习(1)--Mat主要成员变量
决心好好研究一下opencv2.x,正好现在论文也写完了,有一些时间,从头深入研究一下!先从基础结构cv::Mat开始,首先分析了一下Mat的主要的成员变量:下面的是Mat的声明,在core.hpp中:classCV_EXPORTS Mat{public: /* * functions */ enum { MAGIC_VAL=0x42FF0000转载 2012-08-12 11:02:45 · 1731 阅读 · 0 评论 -
opencv 车牌定位及分割
车牌识别大概步骤可分为:车牌定位,字符分割,字符识别三个步骤。细分点可以有以下几个步骤:(1)将图片灰度化与二值化(2)去噪,然后切割成一个一个的字符(3)提取每一个字符的特征,生成特征矢量或特征矩阵(4)分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面是车牌识别的第一个步骤,opencv源代码中s转载 2012-08-30 16:31:38 · 8451 阅读 · 6 评论 -
opencv拟合直线并在屏幕上绘出
#include "stdafx.h"#include #include #include #include int main(){ IplImage *img=cvCreateImage(cvSize(500,500),8,3);//开辟500×500的8位3通道的图像内存空间。 CvRNG rng=CvRNG(-1);//产生随机数产生器的状态。 cvNam原创 2012-08-29 14:50:56 · 2268 阅读 · 0 评论 -
OpenCV学习(6)--opencv中测量运行时间的函数
最开始的C接口中的是 cvGetTickCount()和 cvGetTickFrequency(),在程序段的开始和结束时两次使用cvGetTickCount(),然后将两次的差除以cvGetTickFrequency()后就可以获得程序段的以微秒us为单位的运行时间,不是很精确但是一般足够了。 到了2.x之后在命名空间cv中又多了几个函数,getTickCount(),get转载 2012-08-24 22:54:28 · 1444 阅读 · 0 评论 -
opencv数据容器Mat,cvMat和IplImage
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm原创 2012-09-02 21:18:43 · 4786 阅读 · 0 评论 -
CamShift算法,OpenCV实现1--Back Projection
转载地址:http://blog.csdn.net/houdy/article/details/175739CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back Projection计算2) Mean Shift算法转载 2012-08-23 18:55:27 · 881 阅读 · 0 评论 -
CamShift算法,OpenCV实现(3):CamShift算法
转载地址:http://blog.csdn.net/houdy/article/details/1918281.原理在了解了MeanShift算法以后,我们将MeanShift算法扩展到连续图像序列(一般都是指视频图像序列),这样就形成了CamShift算法。CamShift算法的全称是"Continuously Apaptive Mean-SHIFT",它的基本思想是视频图像的所有帧作M转载 2012-08-23 18:59:35 · 922 阅读 · 0 评论 -
CamShift算法,OpenCV实现2-Mean Shift算法
转载地址:http://blog.csdn.net/houdy/article/details/175844这里来到了CamShift算法,OpenCV实现的第二部分,这一次重点讨论Mean Shift算法。在讨论Mean Shift算法之前,首先讨论在2D概率分布图像中,如何计算某个区域的重心(Mass Center)的问题,重心可以通过以下公式来计算:1.计算区域内0阶矩for转载 2012-08-23 18:57:43 · 1016 阅读 · 0 评论 -
opencv图像结构与形状分析
OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle、转载 2012-08-21 23:42:21 · 1806 阅读 · 0 评论 -
opencv 连通区域的最小外接矩形
#include "cv.h"#include "highgui.h"#include #include //#include "otsu.h"int main(int argc,char** argv){ IplImage *src,*gray,*bw,*dst; CvMemStorage* storage=cvCreateMemStorage(0); CvSeq*转载 2012-08-21 23:12:28 · 11239 阅读 · 0 评论 -
opencv 显示最小面积的外接矩形,并求该矩形的长和宽以及四个角的位置
#include "cv.h"#include "highgui.h"#include #include int main(int argc,char** argv){ IplImage *src,*gray,*bw,*dst; CvMemStorage* storage=cvCreateMemStorage(0); CvSeq* contour=0;原创 2012-08-30 16:06:17 · 10310 阅读 · 4 评论 -
OPENCV资料总结
OpenCV中国论坛精华区和资料汇总http://blog.csdn.net/column/details/opencv-manual.html(opencv专栏)Image Processing & Computer Vision with OpenCVgnuhpc的专栏 - CSDN博客hellogv的专栏 - CSDN博客onezeros的专栏 - CSD原创 2012-06-22 09:48:18 · 2154 阅读 · 1 评论