草庐IT

opencv_traincascade

全部标签

python - 如何将自定义元数据添加到 OpenCV/numpy 图像?

我有一个问题。我正在对OpenCV中的一些捕获图像执行一系列操作(调整大小、复制等),但我想为这些图像设置一些特定的元数据(属性名称也应由我定义),这将在这些操作中幸存下来,可以在以后提取。我没有设置分辨率值或在这些操作后更改的任何其他值。我怎样才能做到这一点?我听说过pyexiv2,但我从未见过任何涉及OpenCV的示例。提前致谢! 最佳答案 因此,最终,您可以将2个文件内容(数据和元数据)隐藏在您自己的python类后面:importcvimportpyexiv2classMyImage():_filename=None_dat

python - OpenCV DestroyWindow 在 Ubuntu 上不工作。如何正确关闭窗口?

在下面的代码中,DestroyWindow或DestroyAllWindows无法关闭ShowImage打开的窗口。当我试图通过单击关闭按钮关闭它时,窗口暂停。杀死窗口后,整个IDLE关闭。importcvimage=cv.LoadImage("../lena.bmp",0)cv.NamedWindow("test")cv.ShowImage("test",image)cv.WaitKey()cv.DestroyWindow("test")#orcv.DestroyAllWindows()我在Ubuntu12.04LTS上使用OpenCV2.4.2和Python2.7。我做错了什么吗?

python - 将轮廓(MatplotLib 或 OpenCV)转换为与原始图像大小相同的图像

我用MatplotLib获得了这个轮廓:现在,我想将它用作普通的Python图像(PIL或数组),因为我想给它应用一个掩码(通过OpenCV获得)。问题是,使用MatplotLib时,带有轮廓的图像被调整大小,并添加了边距(对于轴,即使我不绘制轴),所以我从MatplotLib的图中获得的图像不适合使用OpenCV获得的掩码。我试图用OpenCV获得相同的轮廓,但我没有用cv2.FindContours和cv2.DrawContours函数获得任何结果(如果你知道如何这样做,请告诉我......在这个previoustopic可以看到原图和我想要的轮廓)另一种可能的解决方案是将使用Ma

Armadillo与OpenCV矩阵数据mat、vec与Mat的相互转换

  本文介绍在C++语言中,矩阵库Armadillo的mat、vec格式数据与计算机视觉库OpenCV的Mat格式数据相互转换的方法。  在C++语言的矩阵库Armadillo与计算机视觉库OpenCV中,都有矩阵格式的数据类型;而这两个库在运行能力方面各有千秋,因此实际应用过程中,难免会遇到需要将二者的矩阵格式数据类型加以相互转换的情况。本文就对其相互转换的具体方法加以介绍。  首先,二者相互转换需要用到的代码如下。#include#include#includeusingnamespacestd;intmain(){ //将Armadillo的列向量vec转为OpenCV的Mat arma

python - OpenCV 人脸检测在 Raspberry Pi 上很慢

我正在使用OpenCV和Python编码测试RaspberryPi。视频流传输效果很好(中等速度),但是当我在流上运行人脸检测时,CPU被锁定并且刷新图像很慢。这是我的。如何优化我的代码?#!/usr/bin/envpythonimportsysimportcv2.cvascvfromoptparseimportOptionParsermin_size=(20,20)image_scale=2haar_scale=1.2min_neighbors=2haar_flags=0defdetect_and_draw(img,cascade):#allocatetemporaryimagesg

python - OpenCV Python cv2.BackgroundSubtractor 参数

总结似乎更改BackgroundSubtractorMOG的参数不会影响算法的结果。我使用Python:2.7.6|Anaconda2.1.0(64位)OpenCV:'2.4.10'操作系统:Windows7x64算法的默认参数是:history=200,nmixtures=5,backgroundRatio=0.7因此,创建具有不同参数的背景减法器应该会产生不同的结果。但是我总是使用默认参数和自定义参数得到相同的结果(前景蒙版)。重现问题首先,创建两个具有不同参数的背景减法器对象:bg1=cv2.BackgroundSubtractorMOG()bg2=cv2.BackgroundS

使用Pytorch和OpenCV实现视频人脸替换

“DeepFaceLab”项目已经发布了很长时间了,作为研究的目的,本文将介绍他的原理,并使用Pytorch和OpenCV创建一个简化版本。本文将分成3个部分,第一部分从两个视频中提取人脸并构建标准人脸数据集。第二部分使用数据集与神经网络一起学习如何在潜在空间中表示人脸,并从该表示中重建人脸图像。最后部分使用神经网络在视频的每一帧中创建与源视频中相同但具有目标视频中人物表情的人脸。然后将原人脸替换为假人脸,并将新帧保存为新的假视频。项目的基本结构(在第一次运行之前)如下所示├──face_masking.py├──main.py├──face_extraction_tools.py├──qui

python - OpenCV 仿射变换不会执行

我正在尝试使用枢轴点执行基本的仿射变换。importcv2importnumpyasnpimportPILimportmatplotlib.pyplotaspltimg=cv2.imread('earth.png')img_pivots=cv2.imread('earth_keys.png')map_img=cv2.imread('earth2.png')map_pivots=cv2.imread('earth2_keys.png')pts_img_R=np.transpose(np.where(img_pivots[:,:,2]>0))pts_img_G=np.transpose(n

python - OpenCV检测python中的运动

我的目标是检测IP摄像机流中特定区域的运动。我设法编写了工作代码,但这是基于我个人的理解。importcv2importnumpyasnpimportosimporttimeimportdatetimeimporturllibimportpynotifystream=urllib.urlopen('http://user:pass@192.168.198.120/video.mjpg')bytes=''fgbg=cv2.createBackgroundSubtractorMOG2()whileTrue:bytes+=stream.read(16384)a=bytes.find('\xf

c# opencv 将Mat追加到已有的npy文件

//读取已有的npy文件NDArraymasks=np.load("I:\\软件\\1.npy");ListndList=newList();if(masks==null){}else{//读取npy文件已有的数据for(inti=0;i(data,x=>x>0?(byte)1:(byte)0);NDArraynd=newNDArray(dataInt);//按行和列拆分成二维数组nd=nd.reshape(ndHeight,ndWidth);ndList.Add(nd);}//将所有的数组合并成新的数组NDArrayappendArray=np.stack(ndList.ToArray())