cvcircle:如何利用openCV函数查看opencv版本 时间:2022-12-30 01:40:06 由诗词网小编 分享 复制全文 下载本文 诗词网小编2022-12-30 01:40:06 复制全文 下载全文 目录1.如何利用openCV函数查看opencv版本2.opencv中有几个函数不懂是什么意思3.opencv中的人脸检测代码 static CvScalar colors[]4.VC++6.0中的错误 unresolved externals5.这是用opencv+vc的人脸检测程序,求大神帮我解释一段6.openCV中为颜色赋值(255,0,0),却显示蓝色;赋值红色却显示蓝色。7.opencv怎样判断一副图片上是否有人脸1.如何利用openCV函数查看opencv版本打印这个字符串。2.opencv中有几个函数不懂是什么意思将图像文件加载至内存;在屏幕上创建一个窗口;在一个已创建好的窗口中显示图像;使程序暂停,等待用户触发一个按键操作;释放图像文件所分配的内存;销毁显示图像文件的窗口;通过参数设置确定要读入的AVI文件;用来将下一帧视频文件载入内存;创建一个滚动条;设置CvCapture对象的各种属性;查询CvCapture对象的各种属性;当前图像结构的大小;对图像进行平滑处理;图像金字塔,降采样,图像缩小为原来四分之一;Canny边缘检测;从摄像设备中读入数据;创建一个写入设备以便逐帧将视频流写入视频文件;19、cvWriteFrame:逐帧将视频流写入文件;释放CvVideoWriter结构开辟的内存空间;21、CV_MAT_ELEM:从矩阵中得到一个元素;计算数组中所有元素的绝对值;计算两个数组差值的绝对值;计算数组和标量差值的绝对值;两个数组的元素级的加运算;一个数组和一个标量的元素级的相加运算;两个数组的元素级的加权相加运算(alpha运算);计算数组中所有元素的平均值;计算数组中所有元素的绝对值和标准差;计算一组n维空间向量的协方差;对两个数组中的所有元素运用设置的比较操作;对数组和标量运用设置的比较操作;用可选的缩放值转换数组元素类型;把数组中的值复制到另一个数组中;计算数组中非0值的个数;计算两个三维向量的向量积(叉积);将数组的通道从一个颜色空间转换另外一个颜色空间;计算方阵的行列式;用另外一个数组对一个数组进行元素级的除法运算;计算两个向量的点积;41、cvEigenVV:计算方阵的特征值和特征向量;围绕选定轴翻转;矩阵乘法;从一个数组的列中复制元素;从数据的相邻的多列中复制元素;复制数组中对角线上的所有元素;返回数组的维数;返回一个数组的所有维的大小;从一个数组的行中复制元素值;从一个数组的多个相邻的行中复制元素值;得到二维的数组的尺寸,以CvSize返回;从一个数组的子区域复制元素值;检查一个数组的元素是否在另外两个数组中的值的范围内;检查一个数组的元素的值是否在另外两个标量的范围内;求矩阵的逆;计算两个向量间的马氏距离;在两个数组中进行元素级的取最大值操作;在一个数组和一个标量中进行元素级的取最大值操作;把几个单通道图像合并为一个多通道图像;在两个数组中进行元素级的取最小值操作;在一个数组和一个标量中进行元素级的取最小值操作;寻找数组中的最大最小值;计算两个数组的元素级的乘积(点乘);按位对数组中的每一个元素求反;将数组中元素进行归一化;对两个数组进行按位或操作;67、cvOrs:在数组与标量之间进行按位或操作;通过给定的操作符将二维数组简为向量;以平铺的方式进行数组复制;用给定值初始化数组;将数组中所有元素初始化为0;将数组中对角线上的元素设为1,其他置0;求出线性方程组的解;将多通道数组分割成多个单通道数组;两个数组元素级的相减;元素级的从标量中减去数组;对数组中的所有元素求和;二维矩阵的奇异值分解;奇异值回代计算;计算矩阵迹;矩阵的转置运算;对两个数组进行按位异或操作;在数组和标量之间进行按位异或操作;将所有数组中的元素置为0;计算可选的缩放值的绝对值之后再转换数组元素的类型;计算数组的绝对范数,绝对差分范数或者相对差分范数;对两个数组进行按位与操作;在数组和标量之间进行按位与操作;是cvConvertScale的一个宏,可以用来重新调整数组的内容,并且可以将参数从一种数 据类型转换为另一种;是函数cvTranspose的缩写;画直线;画矩形;画圆;画椭圆;使用外接矩形描述椭圆;画多边形;在图像上输出一些文本;采用一组参数配置一些用于屏幕输出的基本个特定字体;矩阵保存;矩阵读取;为读/写打开存储文件;释放存储的数据;开始写入新的数据结构;结束写入数据结构;写入整数型;写入浮点型;写入字符型;写一个XML或YAML的注释字串;110、cvWrite:写一个对象;写入多个数值;112、cvWriteFileNode:将文件节点写入另一个文件存储器;获取存储器最顶层的节点;在映图或存储器中找到相应节点;为名称返回一个惟一的指针;在映图或文件存储器中找到节点;返回文件的节点名;读取一个有名称的整数型;读取一个有名称的浮点型;从文件节点中寻找字符串;找到一个有名称的文件节点并返回它;将对象解码并返回它的指针;找到对象并解码;读取多个数值;初始化文件节点序列的读取;读取文件节点的内容;检查IPP库是否已经正常安装并且检验运行是否正常;用来调整窗口的大小;保存图像;将窗口移动到其左上角为x,y的位置;用来关闭所有窗口并释放窗口相关的内存空间;读取滑动条的值;设置滑动条的值;136、cvGrabFrame:用于快速将视频帧读入内存;对读入帧做所有必须的处理;用于在常用的不同图像格式之间转换;形态腐蚀;形态学膨胀;更通用的形态学函数;漫水填充算法,用来进一步控制哪些区域将被填充颜色;放大或缩小图像;图像金字塔,将现有的图像在每个维度上都放大两倍;利用金字塔实现图像分割;图像阈值化;可以将8位整数类型图像累加为浮点图像;图像自适应阈值;图像卷积;将特定的图像轻微变大,然后以各种方式自动填充图像边界;图像边缘检测,拉普拉斯变换、图像边缘检测;霍夫直线变换;霍夫圆变换;图像重映射,校正标定图像,图像插值;稠密仿射变换;将整个IplImage结构复制到新的IplImage中;仿射映射矩阵的计算;稀疏仿射变换;密集透视变换(单应性);计算透视映射矩阵;稀疏透视变换;将数值从笛卡尔空间到极坐标(极性空间)进行映射;将数值从极性空间到笛卡尔空间进行映射;对数极坐标变换;频谱乘法;离散余弦变换;计算积分图像;图像的距离变换;直方图均衡化;创建一新直方图;根据已给出的数据创建直方图;归一化直方图;直方图阈值函数;从图像中自动计算直方图;用于对比两个直方图的相似度;陆地移动距离(EMD)算法;反向投影;图块的方向投影;模板匹配;用于创建一个内存存储器;创建序列;将序列进行逆序操作;复制序列的全部或部分到一个连续内存数组中;从二值图像中寻找轮廓;绘制轮廓;使用多边形逼近一个轮廓;轮廓长度;计算轮廓矩;计算Hu不变矩;使用矩进行匹配;对任意直线上的像素进行采样;对直线采样;分水岭算法;修补图像;寻找角点;用于发现亚像素精度的角点位置;实现非金字塔的Lucas-Kanade稠密光流算法;mean-shift跟踪算法;204、cvCamShift:camshift跟踪算法;创建Kalman滤波器;创建condensation滤波器;对齐次坐标进行转换;定位棋盘角点;计算单应性矩阵;罗德里格斯变换;直线拟合算法;计算协方差矩阵;计算协方差矩阵的逆矩阵;计算Mahalanobis距离;根据一个已有的矩阵创建一个新矩阵;计算用于角点检测的特征图;CvMat图像数据格式转换成IplImage图像数据格式;219、cvMatMul:两矩阵相乘;3.opencv中的人脸检测代码 static CvScalar colors[]你接着往下看在最后画圆来圈出人脸的那句代码中cvCircle( img,center,radius,colors[i%8],4.VC++6.0中的错误 unresolved externalsvoiddetect_and_draw(IplImage*img){staticCvScalarcolors[]={//定义8种不同的颜色{{0,doublescale=1.3;//图像缩放比例IplImage*gray=cvCreateImage(cvSize(img->width,height),//申请灰度图的存储空间gray,大小为原始图像大小IplImage*small_img=cvCreateImage(cvSize(cvRound(img->cvRound(img->//申请灰度图的存储空间small_img,大小为原始图像缩放scale倍cvCvtColor(img,gray,//将原始图像转换成灰度图像,保存在gray中cvResize(gray,small_img,CV_INTER_LINEAR);//将灰度图缩放scale倍,保存在small_img中cvEqualizeHist(small_img,//对缩小后的灰度图small_img做直方图均衡cvClearMemStorage(storage);//为人脸识别分配空间if(cascade){//函数cvHaarDetectObjects检测图像中的目标CvSeq*faces=cvHaarDetectObjects(small_img,storage,//人脸识别,将结果保存到faces中for(inti=0;i<faces->total:i++){//对找到的每一个脸做如下处理:CvRect*r=(CvRect*)cvGetSeqElem(faces,//取出脸的矩形区域,存入rCvPointcenter;5.这是用opencv+vc的人脸检测程序,求大神帮我解释一段voiddetect_and_draw(IplImage*img){staticCvScalarcolors[]={//定义8种不同的颜色{{0,0,255}},{{0,128,255}},{{0,255,255}},{{0,255,0}},{{255,128,0}},{{255,255,0}},{{255,0,0}},{{255,0,255}}};doublescale=1.3;//图像缩放比例IplImage*gray=cvCreateImage(cvSize(img->width,img->height),8,1);//申请灰度图的存储空间gray,大小为原始图像大小IplImage*small_img=cvCreateImage(cvSize(cvRound(img->width/scale),cvRound(img->height/scale)),8,1);//申请灰度图的存储空间small_img,大小为原始图像缩放scale倍cvCvtColor(img,gray,CV_BGR2GRAY);//将原始图像转换成灰度图像,保存在gray中cvResize(gray,small_img,CV_INTER_LINEAR);//将灰度图缩放scale倍,保存在small_img中cvEqualizeHist(small_img,small_img);//对缩小后的灰度图small_img做直方图均衡cvClearMemStorage(storage);//为人脸识别分配空间if(cascade){//函数cvHaarDetectObjects检测图像中的目标CvSeq*faces=cvHaarDetectObjects(small_img,cascade,storage,1.1,2,0,cvSize(30,30));//人脸识别,将结果保存到faces中for(inti=0;i<(faces?faces->total:0);i++){//对找到的每一个脸做如下处理:CvRect*r=(CvRect*)cvGetSeqElem(faces,i);//取出脸的矩形区域,存入rCvPointcenter;intradius;center.x=cvRound((r->x+r->width*0.5)*scale);//计算矩形区域的中心,x坐标center.y=cvRound((r->y+r->height*0.5)*scale);//计算矩形区域的中心,y坐标radius=cvRound((r->width+r->height)*0.25*scale);//计算矩形区域的半径radiuscvCircle(img,center,radius,colors[i%8],3,8,0);//在原始图像上,在上面求得的中心处,以radius为半径,用colors中的颜色画圆。}}cvShowImage("result",img);//显示画好的图片cvReleaseImage(&gray);//释放开始申请的空间graycvReleaseImage(&small_img);//释放开始申请的空间small_img}6.openCV中为颜色赋值(255,0,0),却显示蓝色;赋值红色却显示蓝色。Opencv中cvScalar是CV_RGB的宏,cvScalar的储存顺序是B-G-R。7.opencv怎样判断一副图片上是否有人脸CvSeq* faces = cvHaarDetectObjects( small_img,storage,*级联分类器训练中采用的检测目标的尺寸*/);检测人脸返回矩形人脸/*使用针对某目标物体训练的级联分类器在图像中找到包含目标物体的矩形区域,并且将这些区域作为一序列的矩形框返回。函数以不同比例大小的扫描窗口对图像进行几次搜索(察看cvSetImagesForHaarClassifierCascade)。每次都要对图像中的这些重叠区域利用cvRunHaarClassifierCascade进行检测。n"t/,((double)cvGetTickFrequency()*1000.) );faces->?total;0):找到矩形中心把矩形转换成圆形{CvRect* r = (CvRect*)cvGetSeqElem( faces;*直接访问序列中的元素 */OpenCV的基本数据类型之一;表示一个坐标为整数的二维点int radius,width*0.5)*scale);height*0.5)*scale);radius = cvRound((r->height)*0.25*scale);对一个double型的数进行四舍五入;并返回一个整型数,center,radius,colors[i%8],/*绘制圆形*/*****************printf("检测到人脸;"!); 复制全文下载全文 复制全文下载全文