草庐IT

opencv_dir

全部标签

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),但我应该用它们做什么?所以基本上,我需要得到类

c++ - openCV 错误 : Assertion failed (scn == 3 || scn == 4) on Raspberry Pi

我关注了thistutorialOpenCV对象跟踪并设法使代码在我的笔记本电脑上运行,无论是在使用VisualStudio的Windows上还是在我的UbuntuVM(使用CMake)上。现在我尝试在我的RaspberryPi(运行Raspbian)上运行它。cmake.和make命令似乎工作正常但是当我尝试运行可执行文件时出现以下错误:pi@raspberrypi~/Desktop/Track$./TrackObjinitdoneopenglsupportavailableOpenCVError:Assertionfailed((scn==3||scn==4)&&(depth==C

java - OpenCV - C++ 到 Java - 模板匹配

正如我在此处询问DetectMarkerPositionin2Dimage时,我正在尝试检测图像中的多个正方形(标记)有人向我展示了一个C++解决方案,这里是:#include#include#include//See:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html//See:http://answers.opencv.org/question/60382/detect-markers-position-in-2d-images/intmai

c++ - OpenCV - 如何从 uint8_t 指针创建 Mat

我有以下C++代码:voidfoo(constuint8_t*data,intheight,intwidth){//needtocreateacv::Matfrom*data,whichisapointertograyscaleimagedata//doesn'tworkcorrectly(compiles,butarrayaccessonthematleadstoasegmentationfault)autoimg=cv::Mat(height,width,CV_8UC1,&data);//howcanIfixthelineabovetocreateapropercv::Mat?}/

c++ - 在 Opencv 中以 UYVY 编解码器录制视频

我有一台来自e-consystems的相机,它支持UYVU编解码器视频录制。当我使用他们自己的软件(QTCam)录制视频时,它使用YUY2编解码器以avi格式录制视频,视频可以在VLC中完美打开和运行。现在我尝试通过OpencvVideoWrtiter()录制视频。我使用此命令设置Camera属性以读取UYVYCodec视频。camera1.set(CV_CAP_PROP_FOURCC,CV_FOURCC('U','Y','V','Y'));还使用VideoWriter以AVI文件格式录制视频。video1.open("/home/camera1UYVY.avi",CV_FOURCC(

c++ - Bazel 使用 OpenCV 3.3 依赖项构建

我正在尝试使用Bazel来编译和分发基于OpenCV的C++代码,但我遇到了一个我无法解决的问题。我在支持CUDA(CUDA8)的Ubuntu16.04LTS上从源代码构建和安装OpenCV3.3。我将它安装在标准目录/usr/local中。鉴于此,我使用这个WORKSPACE文件创建了我的项目:new_local_repository(name="opencv",path="/usr/local",build_file="opencv.BUILD",)opencv.BUILD包含:cc_library(name="opencv",srcs=glob(["lib/*.so*"]),hd