Opencv_Function
文章平均质量分 75
端午过后的猪
乌龟小白在路上...慢慢爬 ...
展开
-
openpose-opencv 的coco数据多人体姿态估计
介绍opencv除了支持常用的物体检测模型和分类模型之外,还支持openpose模型,同样是线下训练和线上调用。这里不做特别多的介绍,先把源代码和数据放出来~实验模型获取地址:https://github.com/CMU-Perceptual-Computing-Lab/openpose基于coco数据的代码实现import cv2import timeimport numpy as npfrom random import randintimage1 = cv2.imread(转载 2020-07-21 17:16:28 · 1853 阅读 · 0 评论 -
[收藏]opencv 2.4.4版…
原文地址:2.4.4版本示例程序说明">[收藏]opencv 2.4.4版本示例程序说明作者:互信小朴parter 1:No1. adaptiveskindetector.cpp利用HSV空间的色调信息的皮肤检测,背景不能有太多与肤色相似的颜色。效果不是特别好。No2. bagofwords_classification.cpp好大一串……目前还看不懂。No3. bgfg_转载 2017-06-29 10:17:42 · 535 阅读 · 0 评论 -
opencv2 矩阵方式 resiz…
最近学习opencv的时候遇到的一些技术问题,拿出来分享一下。opencv1和opencv2最大的区别就是c++支持,这使得网上有些资料是opencv1的c语言写的,而有些人喜欢c++,当然接口函数也就不同了。下面是一个c++的opencv2接口的图像缩放代码。double scale=0.5; //设置缩放倍数string imageurl = "F:/opencv/samples/cpp原创 2017-06-29 10:17:57 · 189 阅读 · 0 评论 -
cvRound, cvFloor, cvCeil (opencv浮点类型取整函数)
cv::Round( ) : 返回和参数最接近的整数值;cv::Floor( ):返回不大于参数的最大整数值;cv::Ceil( ):返回不小于参数的最小整数值;原创 2017-02-24 10:52:29 · 2597 阅读 · 0 评论 -
opencv Mat的数学运算(转载)
一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;//Scalar 是一个结构体,常用来存储像素,比如Scalars;s=cvGet2D(pImg,x,y);s.val[0],s.val[1],s.val[2]就是对应的图像BGR的值1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mas原创 2017-06-29 10:24:21 · 894 阅读 · 0 评论 -
opencv滤波专场:线性滤波,方框滤…
本系列文章由@浅墨_毛星云出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/21479533作者:毛星云(浅墨) 邮箱: happylifemxy@163.com 写作当前博文时配套使用的OpenCV版本:2.4.8本篇文章中,我们一起仔细探讨了OpenCV图像处理技术中比较热门的原创 2017-06-29 10:23:08 · 249 阅读 · 0 评论 -
OpenCV2:Mat属性type,depth,step
在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学。这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采样和基于局部均值的图像缩小,发现对Mat中的数据布局和一些属性的认知还是懵懵懂懂,本文对Mat的一些重要属性和数据布局做一个总结。 Mat的作用The class Mat represents原创 2017-06-29 10:22:56 · 235 阅读 · 0 评论 -
(转载)OpenCV 函数的参数用法…
Fn :包含 mask 参数的一些函数如下 [摘自opencv2.3.1版本 C++]void add(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1)subtractbitwise_and, bitwise_not, bitwise_or,bit原创 2017-06-29 10:21:04 · 280 阅读 · 0 评论 -
opencv2 矩阵方式 resiz…
最近学习opencv的时候遇到的一些技术问题,拿出来分享一下。opencv1和opencv2最大的区别就是c++支持,这使得网上有些资料是opencv1的c语言写的,而有些人喜欢c++,当然接口函数也就不同了。下面是一个c++的opencv2接口的图像缩放代码。double scale=0.5; //设置缩放倍数string imageurl = "F:/opencv/samples/cpp原创 2017-06-29 10:18:00 · 203 阅读 · 0 评论 -
cvConvertScale
cvConvertScale CVAPI(void) cvConvertScale( const CvArr* src, CvArr* dst,double scale CV_DEFAULT(1),double shift CV_DEFAULT(0) );OpenCV 函数功能:使用线性变换转换数组src输入数组.dst输出数组scale比例因子原创 2017-06-29 10:20:43 · 287 阅读 · 0 评论 -
(转载)opencv定义感兴趣区域,两幅…
有时,我们只需要对一幅图像的一部分进行处理.本节会教会我们如何定义感兴趣的区域.Getting ready假设我们想合并两个不同大小的图像.例如,我们将下面的小的图标添加到我们的测试图像上:但是使用cv::add函数要求两个图像具有相同的大小.在这个例子中,必须定义感兴趣的区域(ROI)使得cv::add可以被使用.它只会应用在和我们logo图像相同大小的ROI区域.ROI的位置将原创 2017-06-29 10:20:49 · 267 阅读 · 0 评论 -
opencv矩阵和图像操作函数
表列出了一些操作矩阵图像的函数,其中的大部分对于图像处理非常有效。它们实现了图像处理中的基本操作,例如对角化、矩阵变换以及一些更复杂的诸如计算图像的统计操作表:矩阵和图像基本操作函数名称 描述cvAbs计算数组中所有元素的绝对值cvAbsDiff计算两个数组差值的绝对值函数名称描述cvAbsD原创 2017-06-29 10:20:52 · 395 阅读 · 0 评论 -
(转载)IplImage, CvMat,&nbsp…
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm原创 2017-06-29 10:20:58 · 167 阅读 · 0 评论 -
Opencv2:Mat矩阵详解(转载)
1.Mat基础在计算机内存中,数字图像是已矩阵的形式保存的。OpenCV2中,数据结构Mat是保存图像像素信息的矩阵,它主要包 含两部分:矩阵头和一个指向像素数据的矩阵指针。 矩阵头主要包含,矩阵尺寸、存储方法、存储地址和引用次数等。 矩阵头的大小是一个常数,不会随着图像的大小而改变,但是保存图像像素数据的矩阵则会随着图像的大小而改变,常 量会很大,比矩阵头大几原创 2017-06-29 10:21:28 · 530 阅读 · 0 评论 -
OpenCV中构造Mat矩阵赋值和复制的…
对OpenCV中的Mat矩阵的复制,创建等操作的时间消耗代码如下:clock_t t1,t2;t1 = clock();Mat mat1(10000,5000,CV_64FC1,Scalar::all(0.0));t2 = clock();cout<<"Matmat1(10000,5000,CV_64FC1,Scalar::all(0.0))\t" {t1 = clock()原创 2017-06-29 10:20:28 · 2705 阅读 · 0 评论 -
Mat函数
1、 Mat frame =imread("apple.jpg"); 读取图像 if( !frame.date ) return 0; Mat image.create( frame.size( ),frame.type( )); image.setTo( cv::Scalar(0,0,0) ); Matimg_roi( Rect(原创 2017-06-29 10:20:25 · 3129 阅读 · 0 评论 -
Mat基础
Mat本质上是由两个数据部分组成的类: (包含信息有矩阵的大小,用于存储的方法,矩阵存储的地址等)的矩阵头和一个指针,指向包含了像素值的矩阵(可根据选择用于存储的方法采用任何维度存储数据)。矩阵头部的大小是恒定的。然而,矩阵本身的大小因图像的不同而不同,通常是较大的数量级。因此,当你在您的程序中传递图像并在有些时候创建图像副本您需要花费很大的代价生成图像矩阵本身,而不是图像的头部。OpenCV原创 2017-06-29 10:20:22 · 211 阅读 · 0 评论 -
opencvz中显示图像和矩阵函数
IplImage *image; cvShowImage("图像显示",image); Mat img; cv::imshow("图像显示",img);原创 2017-06-29 10:17:13 · 373 阅读 · 0 评论 -
opencv Mat矩阵的“深浅”复制
如果定义为uchar *p=new uchar[9];Mat a(3,3,CV_8UC1,p);那样a矩阵的数据区还是指向p的,如果delete了p数组,a的指针就无效了。 矩阵之间的复制问题Mat b=a;这个是浅复制,即a.release()之后b就无效了。Mat b; a.copyTo(b);或者b=a.clone()都是深复制,即是数据区会复制一份。原创 2017-06-29 10:17:10 · 223 阅读 · 0 评论 -
(转载)opencv源码解析之CommandLin…
好像在opencv的c版本中,应该是opencv1.0以前,还没有出现CommandLineParser这个类,最近看到opencv2.3后面的版本里自带的samples,很多都用到了CommandLineParser 这个类,那么这个类到底有什么作用呢,从命名大概可以猜出这是个命令行解析类。因为我们知道opencv是一个开源库,所以其很少有图形操作方面的api,基本上还是基于命令行执行的。原创 2017-06-29 10:17:02 · 164 阅读 · 0 评论 -
opencv中的Cxcore绘图函数
曲线与形状[编辑]CV_RGB创建一个色彩值. #define CV_RGB( r, g, b ) cvScalar( (b), (g), (r) )[编辑]Line绘制连接两个点的线段void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickne原创 2017-06-29 10:12:10 · 341 阅读 · 0 评论 -
OpenCV:IplImage和单字节ch…
原文地址:OpenCV:IplImage和单字节char*相互转换(zhuan)作者:intuition_smile对OpenCV稍有了解的同学都知道里边用于存储图像数据的IplImage,其中有两个属性非常值得关注,稍不留神就会导致错误(后附错例一则):一是width属性;二是widthStep属性。前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数。 在Ope转载 2017-06-29 10:12:25 · 187 阅读 · 0 评论 -
使用OpenCV 读取和处理任意…
原文地址:读取和处理任意格式视频文件">使用OpenCV 读取和处理任意格式视频文件作者:塞外风景 记得几个月前,使用OpenCV 做背景分割时使用它很多视频都不能处理。所以投靠了directshow,这个超级复杂的东西。虽然说已经用 directshow写了一个几万行的商业软件,说实话对它还是想敬而远之。今天在测一段网上的代码时,竟然都通了。我想这也可能和我在编译器里链接了direct转载 2017-06-29 10:12:28 · 161 阅读 · 0 评论 -
OpenCV:CalcOpticalFlowPyr…
原文地址:特征点匹配">OpenCV:CalcOpticalFlowPyrLK 特征点匹配作者:imagine这是一个可以用来进行特征点匹配的函数:原文地址:http://hi.baidu.com/benbendy/blog/item/2f326c5561749cc3b745ae1d.htmlCalcOpticalFlowPyrLK计算一个稀疏特征集的光流,使用金字塔中的迭代 Lucas-转载 2017-06-29 10:12:30 · 353 阅读 · 0 评论 -
OpenCV:cvGoodFeaturesToTr…
原文地址:和cvFindCornerSubPix 特征点检测">OpenCV:cvGoodFeaturesToTrack 和cvFindCornerSubPix 特征点检测作者:imagine角点检测(Corner Detection) cvFindCornerSubPix使用范例原文来自OpenCV中文论坛:http://www.opencv.org.cn/forum/viewtopic.p转载 2017-06-29 10:12:33 · 397 阅读 · 0 评论 -
关于OPENCV中IplImage所存储…
原文地址:关于OPENCV中IplImage所存储数据的讨论作者:shelliarOPENCV一书中,对IplImage和CvMat的讲述不够详细,很多时候当我们处理图像的时候,我们会避免用cvMat而是直接用IplImage的方法。IplImage这个结构体中存储图像数据的部分是char *imageData,这个指针指向图像数组的首地址。而imageData是一个一维数组,遍历其数据的方法转载 2017-06-29 10:12:36 · 1036 阅读 · 0 评论 -
opencv访问图像像素
opencv访问图像像素访问图像像素 (1)假设你要访问第k通道、第i行、第j列的像素。 (2)间接访问:(通用,但效率低,可访问任意格式的图像)对于单通道字节型图像:IplImage*img=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);CvScalar s;s=cvGet2D(img,i,j); // getthe (i原创 2017-06-29 10:12:39 · 177 阅读 · 0 评论 -
IplImage origin参数
原文地址:origin参数">IplImage origin参数作者:鸳都学童在使用opencv显示图像时会出现图像倒立的情况,IplImage的origin属性有关系。origin为0表示顶左结构,即图像的原点是左上角,如果为1为左下角。一般从硬盘读入的图片或者通过cvCreateImage方法创建的IplImage图片默认的origin为0,即显示的时候都是正的。而由摄像头或者视转载 2017-06-29 10:12:51 · 406 阅读 · 0 评论 -
cvWaitKey()
原文地址:cvWaitKey()作者:三杯茶原文地址:http://caicaiwh.blogbus.com/logs/65060550.html作者:CAICAI_WH cvWaitKey(int delay) 指延时delay ms的时间delaydelay>0时,延迟"delay"ms,在显示视频时这个函数是有用的,用于设置在显示完一帧图像后程序等待"delay"ms再显示下一转载 2017-06-29 10:12:54 · 241 阅读 · 0 评论 -
OpenCV基础-cvCloneImage、c…
原文地址:cvCloneMat、cvCopyMat">OpenCV基础-cvCloneImage、cvCopyImage和 cvCloneMat、cvCopyMat作者:intuition_smilecvCloneImage与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量,cvCopyImage与cvCopyMat只复制值,并不会分配一个空间给赋值对象,因此cvCloneImag转载 2017-06-29 10:13:20 · 820 阅读 · 0 评论 -
OpenCV中响应鼠标消息
#include#include#include#pragma comment(lib,"C:\\ProgramFiles\\OpenCV1.0\\lib\\cv.lib")#pragma comment(lib,"C:\\ProgramFiles\\OpenCV1.0\\lib\\cxcore.lib")#pragma comment(lib,"C:\\Program原创 2017-06-29 10:13:22 · 185 阅读 · 0 评论 -
OpenCV函数cvFindContours
提取轮廓在OpenCV里有一个函数 cvFindContours :[cpp] viewplaincopyint cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour,int header_size=sizeof(CvContour),int mode=CV_RETR_LIS原创 2017-06-29 10:13:53 · 296 阅读 · 0 评论 -
CvMat、Mat、IplImage之间的转换详…
OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数。初学者应该掌握并熟练应用。但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进。1.初始化矩阵: 方式一、逐点赋值式: CvMat* mat = cvCreateMat( 2, 2, CV_64FC1 );原创 2017-06-29 10:14:07 · 201 阅读 · 0 评论 -
cvCreateMemStorage//cvCreateSeq/…
1、CvMemStorage *storage=cvCreateMemStorage(block_size);用来创建一个内存存储器,来统一管理各种动态对象的内存。函数返回一个新创建的内存存储器指针。参数block_size对应内存器中每个内存块的大小,为0时内存块默认大小为64k。2、cvCreateSeqCvSeq* cvCreateSeq(int seq_flags,int he原创 2017-06-29 10:15:20 · 239 阅读 · 0 评论 -
cvRound, cvFloor, cvCeil
原文地址:cvFloor, cvCeil">cvRound, cvFloor, cvCeil作者:叶以撒函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。 注意转载 2017-06-29 10:15:34 · 222 阅读 · 0 评论 -
CvMat, Mat, IplImage,c…
IplImage *---->cv::MatIplImage *vel;cv::Mat mat(vel);IplImage* img = cvLoadImage("greatwave.jpg", 1);Mat mtx(img,0); // convert IplImage* -> Mat; cv::Mat----->IplImage*cv::Mat mat;IplIm原创 2017-06-29 10:15:59 · 187 阅读 · 0 评论 -
cvHaarDetectObjects函数参数解释
cvHaarDetectObjects该函数为开放计算机视觉(OpenCV)库库函数,用来检测图像中的目标定义:typedef struct CvAvgComp{CvRect rect;int neighbors;}CvAvgComp;CvSeq*cvHaarDetectObjects( const CvArr*image,CvHaarClassifierCascade* c原创 2017-06-29 10:12:01 · 698 阅读 · 0 评论