草庐IT

ctypes-opencv

全部标签

c++ - OpenCV 无法从网络摄像头捕获帧

我在VS2010中使用OpenCV2.4.6。我认为我的网络摄像头无法捕捉画面。当我执行成功构建的代码时,但我没有得到输出。我想,当我检查if(!bSuccess)它被执行并且无法从网络摄像头捕获帧。我该如何解决这个问题?我的代码如下:#include"opencv2/highgui/highgui.hpp"#includeusingnamespacecv;usingnamespacestd;intmain(intargc,char*argv[]){VideoCapturecap(0);//openthevideocamerano.0if(!cap.isOpened())//ifnot

c++ - 如何使用 Opencv 删除背景图像

我是新的opencv。我正在写一个删除背景。我的输入图像我按照以下步骤对我的程序进行编码:-计算平均像素//defineroiofimagecv::Rectroi(0,0,20,20);//copiesinputimageinroicv::Matimage_roi=imgGray(roi);//imshow("roi",image_roi);//computesmeanoverroicv::ScalaravgPixelIntensity=cv::mean(image_roi);//printsoutonly.val[0]sinceimagewasgrayscalecout-根据平均像素

c++ - OpenCV C++ : How to slow down background adaptation of BackgroundSubtractorMOG?

我在OpenCV中使用BackgroundSubtractorMOG来跟踪对象。当它们出现时,它工作正常,但背景会快速适应,因此我无法跟踪静态对象。我怎样才能使背景适应变慢(我不希望它完全静态,只是变慢)?使用构造函数设置学习率不会改变:BackgroundSubtractorMOGpBSMOG=BackgroundSubtractorMOG(???);我该如何解决这个问题?谢谢! 最佳答案 BackgroundSubtractorMOGpBSMOG=BackgroundSubtractorMOG(inthistory=200,in

c++ - 你可以实时使用带有 ruby​​-opencv 的网络摄像头吗?

我正在考虑构建一个快速但粗糙的脚本来帮助friend。它将需要获取网络摄像头输入并对其执行非常简单的计算(想想像素随时间的增量亮度,计算相对简单)。我目前倾向于C++likeso连同opencv但我想知道,既然这是一项计算成本如此低廉的任务,(当然是相对而言)是否有一种方法可以简单地使用ruby-opencv或其他一些技术以将其保存在脚本语言中。自从我一直在寻找以来,我还没有找到任何方法将实时网络摄像头图像导入到ruby​​脚本中,但我非常乐意让出色的SO社区证明我的搜索技能不足!到目前为止我看过的地方:hornetseyec++script(whatI'mleaningtowards

c++ - 如何在opencv中获取矩阵的一部分

我在openCV中有这个矩阵:cv::Matx44dm;我想从这个矩阵中得到左上角的3x3矩阵。执行此操作最简单、最快的方法是什么?我可以通过以下方式做到:cv::Matx44dm;cv::Matx33do;for(inti=0;i但我正在寻找一种更简单、更快捷的方法(如果存在的话)! 最佳答案 Matx有一个名为get_minor()的函数,它可以完全满足您的需求。我没有在OpenCV的文档中看到它,但它存在于实现中。在您的情况下,它将是:o=m.get_minor(0,0);模板参数是小矩阵的高和宽。值(0,0)是裁剪矩阵的起点

opencv数字识别(python/c++)

使用轮廓模板匹配进行简单数字识别大体思想就是准备好一个数字模板,查找到每个数字的轮廓后通过每个轮廓x坐标值来确保模板轮廓与数字相对应,测试图片同理,循环匹配来获得识别结果因为模板与测试图片都是白底黑字只包含数字,所以没有过多图像处理,如果测试图片较复杂,需考虑先将待识别区域分隔开,此处不做过多介绍python代码importcv2importosimportnumpyasnpfromPILimportImagedefsort_contours(cnts):#排序boundingBoxes=[cv2.boundingRect(c)forcincnts](cnts,boundingBoxes)=z

python - 模仿OpenCV中的 "magic wand"photoshop工具

我试图从OpenCV中的一系列灰度图像中分离出天空区域。所有的图像都非常相似:图像的顶部始终是天空区域,并且始终是明亮的灰白色。我尝试过基于轮廓的方法,并编写了自己的算法来提取地平线并将图像相应地分成两个蒙版。但是,我注意到Photoshop中的魔术棒工具在此图像集上的可靠性要准确得多。这是我正在处理的图像:以及我希望达到的结果:如何在OpenCV中模仿它? 最佳答案 我认为您正在寻找的是grabcutalgorithm 关于python-模仿OpenCV中的"magicwand"pho

c++ - opencv中的Vec4i是什么

我正在使用C++学习opencv。我在houghlinetransform的代码中遇到了Vector。谁能解释一下Vec4i存储什么以及4i是什么意思。代码片段:-vectorlines;HoughLinesP(dst,lines,1,CV_PI/180,50,50,10);for(size_ti=0;i 最佳答案 看看OpenCVBasicStructures.Vec4i是一种用于表示具有4个维度的vector的结构,每个值都是一个int如果您查看HoughLinesP()documentation在这种特殊情况下,您会看到每个维

python 用OpenCV 将图片转视频

importosimportcv2importnumpyasnpcv2.VideoWriter()参数cv2.VideoWriter()是OpenCV中用于创建视频文件的类。它的参数如下:filename:保存视频的文件名。fourcc:指定视频编解码器的FourCC代码,用于将视频压缩成指定格式,例如:“XVID”、“MJPG”,"mp4v"等。可以使用cv2.VideoWriter_fourcc()函数来获取FourCC代码。fps:指定视频帧率,即每秒显示的帧数。frameSize:指定视频帧的大小,即视频的分辨率,可以使用(width,height)形式的元组来指定。isColor:指

快速入门opencv(python版)

OpenSourceComputerVisionLibrary。OpenCV是一个(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。在学习过程中遇到问题最好的办法就是查询opencv官方文档。笔者的运行环境:python3.7+pycharm+opencv4.6资源下载:点这里哦1.图像的读取、显示与写入图像的读取、显示与写入分别对应三个函数,cv2.imread()、cv2.imshow()