草庐IT

opencv_traincascade

全部标签

c++ - 过滤器组的 Opencv getGaborKernel 参数

opencv如何获取GaborKernel函数参数相关的orientation和scale参数?我假设theta是方向,但什么是比例?//!returnstheGaborkernelwiththespecifiedparametersCV_EXPORTS_WMatgetGaborKernel(Sizeksize,doublesigma,doubletheta,doublelambd,doublegamma,doublepsi=CV_PI*0.5,intktype=CV_64F);这里有5个尺度和8个方向的例子:更新:我还找到了这个参数解释:http://matlabserver.cs.

【OpenCV】第十五章: 模板匹配

第十五章:模板匹配模板匹配就是在给定的图片中查找和模板最相似的区域。实现的方法是:将模板在图片上滑动(从左向右,从上向下),遍历所有滑窗,计算匹配度,将所有计算结果保存在一个矩阵种,并将矩阵中匹配度最高的值作为匹配结果。一、单模板匹配1、匹配函数:result=cv2.matchTemplate(img,temp,method[,mask])img:要进行匹配的图像,必须是8位或者32位的浮点型图像tem:模板图像,尺寸要要小于原图,数据类型要和原图一样。method:匹配方法,也就是相似度计算方法,opencv提供了6种计算方法(主要是下面三种,另外三种是下面三种方式的归一化结果):    

c++ - OpenCV 中的局部归一化

我正在尝试在OpenCV中实现局部归一化算法以减少图像中的光照差异。我找到了MATLABfunction,我已经在OpenCV中实现了它。但是,我得到的结果与MATLAB函数给出的结果不同。这是我的代码:MatlocalNorm(Matimage,floatsigma1,floatsigma2){MatfloatGray,blurred1,blurred2,temp1,temp2,res;image.convertTo(floatGray,CV_32FC1);floatGray=floatGray/255.0;intblur1=2*ceil(-NormInv(0.05,0,sigma1

houghcircles在OpenCV中无法正确检测到圆

我正在使用VisualStudio2015,OpenCv.3和Emgucv.3。我的代码在下面表示,结果显示在图片中。我知道问题是Houghcircles功能的输入值,但我不知道哪些输入适合此图片。感谢任何帮助。ImageOriginalImage=newImage(Openfile.FileName);ImageResizedImage=OriginalImage.Resize(OriginalImage.Width/2,OriginalImage.Height/2,Emgu.CV.CvEnum.Inter.Cubic);//**********ConvertImagetoBinaryIma

c++ - OpenCV 2.2 SURF 特征匹配问题

我修改了OpenCV演示应用程序“matching_to_many_images.cpp”以从网络摄像头(右)查询图像(左)到帧。第一张图片的右上角出了什么问题?我们认为这与我们遇到的另一个问题有关。我们从一个空数据库开始,我们只添加独特的(与我们数据库中的特征不匹配的特征)但是在只添加三个特征之后,我们得到了所有新特征的匹配....我们正在使用:SurfFeatureDetectorsurfFeatureDetector(400,3,4);冲浪描述符提取器冲浪描述符提取器;FlannBasedMatcherflannDescriptorMatcher;完整代码可在以下位置找到:htt

c++ - Opencv 2.4.2代码详解-人脸识别

引用OpenCV提供的文档做了一个人脸识别程序,可以识别多张人脸,运行正常。在文档中,他们制作了省略号以突出显示脸部。我不明白的是他们如何计算椭圆的中心,他们计算如下for(inti=0;i他们使用的人脸vector生成如下face_cascade.detectMultiScale(frame_gray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE,cv::Size(30,30))文档即程序在链接中给出http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifi

c++ - 在框架上用opencv绘制一个矩形

我有一个框架,想在特定位置绘制一个矩形,该矩形具有:#include"opencv2/opencv.hpp"#include#include#includeintmain(){cv::Matframe=cv::imread("cmd.png");cvRectangle(&frame,cvPoint(5,10),cvPoint(20,30),cvScalar(255,255,255));cv::imshow("test",frame);while(cv::waitKey()!=23);return1;}我运行代码时出现内存错误。Unhandledexceptionat0x000007fe

c++ - 使用 OpenCV 计算黑色像素

我正在使用opencv2.4.0和C++我正在尝试做一个练习,说我应该加载RGB图像,将其转换为灰度并保存新图像。下一步是将灰度图像转换为二值图像并存储该图像。我有这么多工作。我的问题是计算二值图像中黑色像素的数量。到目前为止,我已经在网上搜索过,也看过这本书。我发现最有用的方法是。intTotalNumberOfPixels=width*height;intZeroPixels=TotalNumberOfPixels-cvCountNonZero(cv_image);但我不知道如何存储这些值并在cvCountNonZero()中使用它们。当我将我想要计数的图像传递给此函数时,出现错误

c++ - opencv中黑色物体检测HSV范围

黑色物体检测的范围是多少?我试过下面的代码cvInRangeS(imgHSV,cvScalar(0,0,0,0),cvScalar(0,255,255,0),imgThreshold);但它不起作用。 最佳答案 对于HSV范围内的黑白颜色,您必须将色调设置为最大范围(0到180),将饱和度设置为最大范围(0到255)。您可以使用该值,例如,黑色为0到30或40,白色为200到255。//forblackcvInRangeS(imgHSV,cvScalar(0,0,0,0),cvScalar(180,255,30,0),imgThre

c++ - 带掩码的 OpenCV 阈值

我正在尝试使用OpenCV的cv::threshold函数(更具体的THRESH_OTSU),只是我想使用掩码(任何形状)),以便在计算过程中忽略外部(背景)。图像是单channel的(这是必须的),下面的红色仅用于标记图像上的示例多边形。我尝试使用adaptiveThreshold,但有几个问题使它不适合我的情况。 最佳答案 通常,您可以简单地使用cv::threshold计算阈值,然后使用倒置的方法将src图像复制到dst掩码。//Applycv::thresholdonallimagethresh=cv::threshold(