【python – 如何使用OpenCV和掩码从图像中选择好的颜色?】教程文章相关的互联网学习教程文章

如何在opencv python中获取视频的前一帧【代码】

我想根据视频的大小增加来检测障碍物.为此,我首先在灰色图像上应用了SIFT以获取当前帧的特征点.接下来,要将当前帧的特征点与上一帧进行比较,我想应用蛮力算法.为此,我想在上一帧中获取特征点.如何在opencv python中访问上一帧?以及当当前帧是视频的第一帧时如何避免访问前一帧? 下面是用python编写的代码,用于获取当前帧的特征点.import cv2 import numpy as npcap = cv2.VideoCapture('video3.mov')while(cap.isOpened()):ret, ...

如何使用SURF功能(Python OpenCV)匹配和对齐两个图像?【代码】

我正在使用以下代码来匹配两个图像的冲浪特征,但无法裁剪和对齐图像. 原始图像,旋转图像和匹配图像如下. 我想像原始图像一样将旋转后的图像拉直,并裁剪出直线对齐的图像.我尝试了几何变换,但无法对齐图像.import numpy import cv2############### Image Matching ###############def match_images(img1, img2):"""Given two images, returns the matches"""detector = cv2.SURF(400, 5, 5)matcher = cv2.BFMatcher(cv2.NORM_L2)...

python-OpenCV 使用GrabCut来实现图片的前景与后景的分割【代码】【图】

先上一个效果图: 使用Python3.7+OpenCV 3.x. 需要引入 numpy库。 在图上用鼠标左键和右键标记前景和后景即可.如果需要重新标记图像,关闭程序重新运行. 以下是具体实现代码。 # -*- coding:utf-8 -*-Python: 3.5.7opencv 3.x在图上用鼠标左键和右键标记前景和后景即可.如果需要重新标记图像,关闭程序重新运行.By Ynxf http://www.zhouws.com import cv2 import numpy as np import timeimg_src = ../test_images/3.jpgdrawing...

python-OpenCV-校准鱼眼镜头错误(病态矩阵)【代码】

我正在尝试按照以下说明校准鱼眼镜头https://medium.com/@kennethjiang/calibrate-fisheye-lens-using-opencv-333b05afa0b0您可以在其中找到我用于校准零件的完整代码. 我到了这里:N_OK = len(objpoints) K = np.zeros((3, 3)) D = np.zeros((4, 1)) rvecs = [np.zeros((1, 1, 3), dtype=np.float64) for i in range(N_OK)] tvecs = [np.zeros((1, 1, 3), dtype=np.float64) for i in range(N_OK)] rms, _, _, _, _ = \cv2.fish...

带有OpenCV / python的Prosilica GigE摄像机

我在Mac OS X上使用GigE(以太网)prosilica GC摄像机,并且能够通过Allied Vision的专有样本查看软件将其读出. 我希望能够使用OpenCV读出相机.我已经正确安装了opencv,但是我不确定如何读出相机.最后一个问这个问题的人(大约2年前)被告知要使用本机相机API来执行此操作,然后使用opencv分析图像: OpenCV with GigE Vision Cameras 但是,我想知道是否有可能使用python / opencv做到这一点.在线上似乎很少有关于如何执行此操作的信息,所...

从网络摄像头进行霍夫变换时,Python OpenCV崩溃【代码】

我想我已经解决了问题.我正在使用IP网络摄像头流,进行精巧边缘和霍夫变换.然后显示叠加的变换和原始图像.因此,看起来几乎就像普通的网络摄像头,但是水平线突出显示了.我正在寻找图像中的水平线.只要其中有水平线,它就可以正常工作.如果我启动凸轮并且没有任何水平线,则会收到错误消息:Traceback (most recent call last):File "/home/Desktop/hough.py", line 16, in <module>for line in lines[0]:TypeError: 'NoneType' object ...

python-加速Numpy数组/ OpenCV cv2图像上的迭代【代码】

我有3个形状为>的numpy数组(500,500).我正在尝试同时迭代它们.我尝试了两种不同的方法,但是它们都很慢. 在此,Ix_Ix_blur,Ix_Iy_blur和Iy_Iy_blur大小相同.我正在尝试查找功能并将其绘制在OpenCV图像上. 方法1:for i in xrange (Ix_Ix_blur.shape[1]):for j in xrange(Ix_Ix_blur.shape[0]):A = np.array([ [Ix_Ix_blur[j][i], Ix_Iy_blur[j][i]], [Ix_Iy_blur[j][i], Iy_Iy_blur[j][i]] ])detA = (A[0][0]*A[1][1])-(A[0][1]*A[1]...

opencv python多线程视频捕获【代码】

我正在尝试读取2个视频文件,并同时在单独的Windows中显示它们.这是我的代码:import threading import cv2 threadLock=threading.Lock() class myThread (threading.Thread):maxRetries=20def __init__(self, threadID, name,video_url):threading.Thread.__init__(self)self.threadID = threadIDself.name = nameself.video_url=video_urldef attemptRead(self,cvVideo):threadLock.acquire()(isRead,cvImage)=cvVideo.read()thre...

opencv和python:如何在掩码中使用cv2.surf()【代码】

我是opencv和python的新手,正在尝试收集图像中人脸的关键点和描述符. 我使用带有正面人脸模板的HAAR级联分类器来查找图像中的人脸. HAAR级联为我提供了标记图像中人脸的坐标列表.我想在这些坐标处生成一个“蒙版”,以便可以使用cv2.surf()提取蒙版区域内的关键点和描述符. 我不知道如何制作那个面具. 尝试以this photo为例进行处理. 这是到目前为止的代码:import cv2 import numpy as np# Load image and convert to grayscale im...

在OpenCV for Python中找不到cv2.cv模块【代码】

我正在尝试使用cv2.cv模块中的某些常量,如下所示:fps = videoCapture.get(cv2.cv.CV_CAP_PROP_FPS)但是,cv2.cv模块似乎不存在,我无法以任何其他方式导入它.我该怎么办?解决方法:如果是opencv 2.4.8-是. cv2.cv模块不再可用. 您要查找的常量是:cv2.CAP_PROP_FPS

python openCV debayer【代码】

我想用openCV对16位RAW静态图像进行去拜耳处理,但是cvtColor函数有问题.颜色变成灰色可以给出正确的结果:import cv2 import numpy as np infile = '/media/rainer/IMG_2806.JPG'img = cv2.imread(infile,1) bw = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) resized = cv2.resize(bw, (0,0), fx=0.3, fy=0.3) cv2.imshow('image',resized) cv2.waitKey(0) cv2.destroyAllWindows()那么debayer在python 2.7中会是什么样子?这不起作...

python-如何使用OpenCV和SIFT查找我的训练图像的多个实例

到目前为止,我已经能够使用BFMatcher非常准确地从查询图像中的训练图像中检测关键点.但是,我的查询图像(蜂巢的框架)中有数十个训练图像(蜜蜂)的实例.是否可以使用SIFT查找另一个图像的多个独立实例? 理想情况下,我希望能够与上面的图像相吻合,使我可以将查询图像中的4个关键点与多个独立的蜜蜂进行匹配.解决方法:我对OpenCV不太了解,无法知道它是否专门提供例程来帮助您.也就是说,如果您有SVD的数值库,例如进行DIY的数学运算还不错...

python-OpenCV掩码操作,在c中按元素分配【代码】

我想根据matB的值将mat matA的每个像素分配给某个值,我的代码是一个嵌套的for循环:clock_t begint=clock(); for(size_t i=0; i<depthImg.rows; i++){for(size_t j=0; j<depthImg.cols; j++){datatype px=depthImg.at<datatype>(i, j);if(px==0)depthImg.at<datatype>(i, j)=lastDepthImg.at<datatype>(i, j);} } cout<<"~~~~~~~~time: "<<clock()-begint<<endl;尺寸为640 * 480的垫子大约需要40?70ms. 我可以使用花式索引在python...

python-OpenCV均值中的掩码类型错误【代码】

我正在尝试遮盖框架的某个区域,以便获得形状的均值.我的代码如下:for h, cnt in enumerate(contours):mask = np.zeros(source_img.shape, np.uint8)cv2.drawContours(mask, [cnt], 0, 255, -1)print maskprint mask.dtypemean = cv2.mean(source_img, mask=mask)但是,运行此代码时,出现错误:(-215)mask.empty()|| mask.type()== CV_8U函数均值. 包含的打印语句回来是uint8.蒙版本身的打印会打印出一个非空的numpy数组,其值分别为...

如何提高OpenCV和python VideoWriter的分辨率?【代码】

我有一个使用OpenCV和python并从一组png图像创建视频(avi格式)的脚本. 这些图像的分辨率很好. 问题在于所得视频的分辨率非常低. 如何提高分辨率? 低分辨率与图像格式有关吗? 码:writer = cv2.VideoWriter( "C:\Users\.../demo3_4.avi", -1, 1, ( width, height ) ) nFrames = 24for i in range( 1, nFrames ):img = cv2.imread( os.path.join( str( inf ), "colorraster%d.jpg"%i ) )writer.write( img )cv2.destroyAllWindo...

OPENCV - 相关标签