小编Gri*_*ixM的帖子

cv2.videocapture.read()不返回numpy数组

我有这个代码试图从我的网络摄像头捕获一个框架覆盆子pi,并将其保存为图像.我使用opencv 2,但是当我运行代码时出现了奇怪的错误.

import time
import sys
from subprocess import call
import cv2

cam = cv2.VideoCapture()

while True:
        cam.open(-1)
        image = cam.read()
        cv2.imwrite("current.jpeg",image)
        time.sleep(10);
Run Code Online (Sandbox Code Playgroud)

您可以忽略ftp部分和注释行..这是程序返回的内容:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument

Traceback (most recent call last):
  File "kvamskogen.py", line 18, in <module>
    cv2.imwrite("current.jpeg",image)
TypeError: <unknown> is not a numpy array
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

python opencv v4l2 ftputil

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

将球坐标转换为笛卡尔坐标

我正在尝试将球坐标转换为笛卡尔坐标以绘制一个简单的 3D 金字塔。

这是获取金字塔四个主要角的代码,具体取决于极角 yrad 和方位角 xrad 以及顶峰坐标 x 和 y:

xpos1 = x+25*(      sin(yrad+pi/2+pi/4)*cos(-xrad+pi/2+pi/4));
zpos1 = y-35+25*(   cos(yrad+pi/2+pi/4)); 
xpos2 = x+25*(      sin(yrad+pi/2-pi/4)*cos(-xrad+pi/2+pi/4));
zpos2 = y-35+25*(   cos(yrad+pi/2-pi/4)); 
xpos3 = x+25*(      sin(yrad+pi/2-pi/4)*cos(-xrad+pi/2-pi/4));
zpos3 = y-35+25*(   cos(yrad+pi/2-pi/4)); 
xpos4 = x+25*(      sin(yrad+pi/2+pi/4)*cos(-xrad+pi/2-pi/4));
zpos4 = y-35+25*(   cos(yrad+pi/2+pi/4)); 
Run Code Online (Sandbox Code Playgroud)

方位角轴似乎工作正常,但问题是在操纵极角时,左右在经过天顶或底部时会交换,如下所示(选择顶部的 mp4 以获得更流畅的播放): http: //gyazo.com/4a245713c232893960863cf4ea4186f6

怎么了?

3d trigonometry coordinate-systems cartesian-coordinates

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