草庐IT

opencv_traincascade

全部标签

c++ - OpenCV 中的宏 CV_OCL_RUN 有什么用?

我在学习hog.cpp在OpenCV中实现,当遇到宏CV_OCL_RUN并对此感到困惑。在hog.cpp其中detectMultiScale()定位,可以找到CV_OCL_RUN和一个名为ocl_detectMultiScale()的方法在里面。detectMultiScale()之间比较和ocl_detectMultiScale(),不仅名字很像,实现起来也很相似。这是我的问题:宏是什么CV_OCL_RUN用于?是否用于测试或其他目的?自detectMultiScale()和ocl_detectMultiScale()功能如此相似,为什么后者嵌入前者?他们是通过什么方式被调用的?提前

c++ - 提取图像中的激光线(使用 OpenCV)

我有一张激光线的图片,我想从图像中提取那条线。由于激光线是红色的,我取图像的红色channel,然后在每一行中搜索最高强度:现在的问题是,还有一些不属于激光线的点(如果你放大第二张图,你可以看到这些点)。有没有人知道接下来的步骤(删除单个点并提取线)?这是另一种检测线的方法:首先我用内核模糊了那条“黑白”线,然后我把那条模糊线细化(骨架)成一条细线,然后我应用了一个OpenCV函数来检测这条线。结果如下图所示:新:现在我遇到了另一个更困难的情况。我必须提取绿色激光。这里的问题是激光线的颜色范围较宽且不断变化。在激光线的某些部分,像素只有高绿色成分,而在其他部分,像素也有高蓝色成分。

c++ - OPENCV C 和 C++ API 的不同结果(边界插值差异)

我执行了闭合形态学操作,但使用C和C++API(OpenCV2.4.2)得到了不同的结果输入:使用OpenCV“C”://SetROI//PerformGaussiansmoothing//PerformCannyedgeanalysiscvMorphologyEx(src,dst,temp,Mat(),MORPH_CLOSE,5);结果:http://i47.tinypic.com/33e0yfb.png使用OpencvC++//SetROI//PerformGaussiansmoothing//PerformCannyedgeanalysiscv::morphologyEx(src

开发OpenCV代码(C++),测试RK3588处理能力(持续更新中)

Prompt与进度推进Step1构思代码的自然语言描述,生成原始代码Prompt1(描述问题,提供思路)项目背景:我现在手头有一块RK3588的开发板,装有ubuntu20.04系统,需要在上面跑OpenCV库的C++代码,对视频实时进行处理。问题:现在我需要在项目前期通过一些测试代码来验证这块板卡的性能,看其是否满足需求,给我一点思路。UsefulAnswerRecording:编写测试代码:1.编写简单的C++程序来读取视频文件或摄像头流。2.应用一些基本的OpenCV图像处理功能,如色彩空间转换、滤波、边缘检测等。3.测量并记录处理每一帧所需的时间,以评估性能。Prompt2(提出具体要

Opencv轮廓检测运用与理解

目录引入基本理解加深理解①比如我们可以获取我们的第一个轮廓,只展示第一个轮廓②我们还可以用一个矩形把我们的轮廓给框出来③计算轮廓的周长和面积引入顾名思义,就是把我们图片的轮廓全部都描边出来也就是我们在日常生活中面部识别的时候会有一个框,那玩意就是基本理解我们还是通过例子来基本的理解以下opencv是如何实现轮廓识别的这是我们的原图像 test.png实现代码cv2.findContours(img,mode,method)img:轮廓检索模式:传入的图像mode:轮廓检索模式:RETR_EXTERNAL:只检索最外面的轮廓;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;RETR

c++ - OpenCV - 使用 calcHist 混淆

我已经多次阅读calcHist()的文档,但我认为我对OpenCV的缺乏经验和生疏的编程技能完全使我无法理解它。我正在计算HSV图像(Hue或channel[0])的一个channel中的像素以用于分割目的,使用10个接近颜色的bin根据类似的东西(让我们以此为例,我偷了网络之外的范围-fwiw,省略紫红色似乎是错误的):红色:0-19和330-360红黄(RY):20-49黄色:50-69YG:70-84绿色:85-170国标:171-191蓝色:192-264英国石油公司:265-289紫色:290-329等等……那么我该如何使用calcHist做到这一点呢?我目前为止:#incl

c++ - 视差图的 OpenCv 深度估计

我正在尝试使用OpenCV从立体对图像估计深度。我有视差图和深度估计可以获得:(Baseline*focal)depth=------------------(disparity*SensorSize)我使用block匹配技术在两个校正后的图像中找到相同的点。OpenCV允许设置一些block匹配参数,例如BMState->numberOfDisparities。block匹配过程之后:cvFindStereoCorrespondenceBM(frame1r,frame2r,disp,BMState);cvConvertScale(disp,disp,16,0);cvNormalize

OPENCV-背景删除和对象检测

我需要检测物体(主要是人)与墙有关的位置。我可以在天花板上有一个固定的位置摄像头,所以我想获得一个空间的图像。然后使用该差异和当前的摄像头图像仅使用事物获取图像。然后,我可以进行斑点检测,我认为要获得位置(只需要X)。这听起来吗?我在OpenCV中不是很有成就,所以正在寻找一些建议。看答案这将是一种方法,但不是很健壮,因为视频提要不会产生一致的精确图像,因此背景永远不会被很好地减去,并且走过现场的人们会遮住光线,也可能匹配零件您的背景。从视频中删除背景的这个过程被简单地称为“背景减法”,并且有内置的OPENCV方法.OpenCV在其网站上有教程,显示了基础知识,Python和C++.

【macOS-OpenCV报错】ld: warning:ignoring file found architecture ‘x86_64‘, required architecture ‘arm64

如果之前用的mac是英特尔intel芯片的,然后换了macM1或M2芯片的。在使用OpenCV时会报错ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_gapi.4.7.0.dylib':foundarchitecture'x86_64',requiredarchitecture'arm64'ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_bgsegm.4.7.0.dylib':foundarchitectur

c++ - 在 OpenCV C++ 中为 OCR 规范化车牌

我正在做一些简单的OCR车牌识别系统。我正在使用HaarCascades查找车牌,接下来我需要标准化此车牌,以将其放入我的OCR模块中。我正在使用floodfill找到车牌的主要轮廓,然后我执行Hough变换,找到车牌的上边界和下边界:这是我执行霍夫变换的部分代码^HoughLinesP(canny_img,lines,1,CV_PI/180,80,80,30);for(size_ti=0;i现在我需要沿着这两条线剪切和旋转这张图片。我怎样才能做到这一点?我知道我需要使用点Point(lines[i][0])..Point(linesi),但我应该用它们做什么?所以基本上,我需要得到类