小编Jam*_*ett的帖子

什么是OpenCV的密集光流(Farneback)功能的输出?如何在Python中使用它来构建光流图?

我试图使用Opencv的密集光流函数的输出来绘制运动矢量的箭袋图,但是却无法找到函数实际输出的内容.这是代码:

import cv2
import numpy as np

cap = cv2.VideoCapture('GOPR1745.avi')

ret, frame1 = cap.read()
prvs = cv2.cvtColor(frame1,cv2.COLOR_BGR2GRAY)
hsv = np.zeros_like(frame1)

hsv[...,1] = 255
count=0

while(1):
    ret, frame2 = cap.read()
    next = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY)
    flow = cv2.calcOpticalFlowFarneback(prvs,next,None, 0.5, 3, 15, 3, 10, 1.2, 0)
    mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])

    hsv[...,0] = ang*180/np.pi/2
    hsv[...,2] = cv2.normalize(mag,None,0,255,cv2.NORM_MINMAX)
    rgb = cv2.cvtColor(hsv,cv2.COLOR_HSV2BGR)
    if count==10:
        count=0

        print "flow",flow

    cv2.imshow('frame2',rgb)
    count=count+1
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break
    elif k == ord('s'):
    prvs = next …
Run Code Online (Sandbox Code Playgroud)

python opencv motion-detection opticalflow python-2.7

8
推荐指数
1
解决办法
5872
查看次数

Python管理存储库Pycharm

我最近不得不使用Anaconda软件包重新下载并安装Python.这样做是因为我在安装一些软件包时遇到了问题,并且发现消息来源说使用Anaconda简单地完成它会更容易.

我现在有一个问题,我无法升级或找到新的包(我以前能够做到,我认为它给出了所有Pypi包的列表),并且我不确定我需要输入哪个URL以便PyCharm找到它曾经使用的所有包.这就是我目前在存储库中所拥有的内容,正如您所看到的,我已经添加了一些PyPi链接,其中没有一个成功:

在此输入图像描述

有谁知道需要在这里输入什么链接才能浏览所有PyPi包或升级当前安装的包?

python repository package pypi pycharm

7
推荐指数
2
解决办法
1万
查看次数

Python OpenCV 在中心坐标列表处绘制圆圈

我已经能够生成一个坐标列表,我想将其用作我想在图像上绘制的多个小圆圈的中心。

我能够在各个点绘制圆圈,但无法找到在所有中心绘制圆圈的正确语法。我希望用于中心的坐标存储如下,在名为 Points 的数组中,其形状为 :(11844, 2)

[[  5   5]
 [  5  10]
 [  5  15]
 ..., 
 [630 460]
 [630 465]
 [630 470]]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码绘制单个圆圈:

cv2.circle(frame1,(5,5),1,(0,0,255))
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法绘制所有点:

cv2.circle(frame1,Points[:,:],1,(0,0,255))
Run Code Online (Sandbox Code Playgroud)

不过,这会返回此错误:

cv2.circle(frame1,Points[:,:],1,(0,0,255))
SystemError: new style getargs format but argument is not a tuple
Run Code Online (Sandbox Code Playgroud)

我是否应该使用循环来遍历所有点并一一绘制它们?如果是这样,我应该使用哪个循环?或者有什么简单的东西我错过了?

python arrays plot geometry opencv

6
推荐指数
1
解决办法
8361
查看次数

Python Numpy在一定范围内生成X和Y值的坐标

我正在尝试生成一个位于图像上的坐标数组.使用的图像是640x480像素的帧.我已经能够制作一个我希望使用的所有x和y点的数组.我试图在每个点上绘制小圆圈只是为了可视化和以后使用所以我试图将坐标变成可以输入OpenCV圆函数的形式.以下是我到目前为止所得到的:

Ypts = np.arange(5, 480, 5)
Xpts = np.arange(5, 640, 5)
Run Code Online (Sandbox Code Playgroud)

我试过用

[pts]= np.vstack([Xpts, Ypts]).T
Run Code Online (Sandbox Code Playgroud)

和

coordinate = []
for x in range(Xpts.size):
    for y in range(Ypts.size):
        coordinate.append((x, y))
Run Code Online (Sandbox Code Playgroud)

没有成功,输出我得到的坐标[0, 0], [0, 1], [0, 2], ...有关的价值点,而不是Xpts和Ypts.

在较小的范围内,这是x和y数组的示例:

Xpts = [5, 10, 15, 20, 25, 30, 35]
Ypts = [5, 10, 15]
Run Code Online (Sandbox Code Playgroud)

而我想要得到的答案是:

Points = [[5, 5],
    [5, 10],
    [5, 15],
    [10, 5],
    [10, 10],
    [10, 15],
    [15, 5],
    [15, 10], …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy coordinates

5
推荐指数
3
解决办法
6647
查看次数