我有这个代码试图从我的网络摄像头捕获一个框架覆盆子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)
这有什么不对?
我正在尝试将球坐标转换为笛卡尔坐标以绘制一个简单的 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
怎么了?