我正在使用ueye摄像头连接到运行raspbian的Raspberry pi 4,我正在尝试使用python的OpenCV从摄像头获取和显示图像。当我使用时,问题就出现了:
cap=cv2.VideoCapture(0,cv2.CAP_DSHOW)
或
cv2.CAP_V4L2
或
cv2.CAP_ANY.
它没有检测到摄像头。
可能问题出在设备索引“0”上,因此我运行了以下代码以尝试其他索引:
import cv2
cams_test=100
for i in range (-1,cams_test):
cap=cv2.VideoCapture(i,cv2.CAP_DSHOW)
test, frame=cap.read()
print("i : "+str(i)+" // result: " +str(test))
if test:
print("SUCCESSFULL!")
所有索引都失败。
我读了下面的问答 但是我找不到他们正在谈论的这个/dev/ueye目录
我可以将videocapture中的索引号替换为安装ueye摄像头的路径吗?(我不知道这条路)
有没有办法从ueye摄像机检索视频流?最好保持视频捕获功能
这是我的密码:
from tkinter import *
from PIL import Image
from PIL import ImageTk
import cv2
import imutils
def iniciar():
global cap
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
visualizar()
def visualizar():
global cap
if cap is not None:
ret, frame = cap.read()
if ret == True:
frame = imutils.resize(frame, width=640)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
im = Image.fromarray(frame)
img = ImageTk.PhotoImage(image=im)
lblVideo.configure(image=img)
lblVideo.image = img
lblVideo.after(10, visualizar)
else:
lblVideo.image = ""
cap.release()
def finalizar():
global cap
cap.release()
cap = None
root = Tk()
btnIniciar = Button(root, text="Iniciar", width=45, command=iniciar)
btnIniciar.grid(column=0, row=0, padx=5, pady=5)
btnFinalizar = Button(root, text="Finalizar", width=45, command=finalizar)
btnFinalizar.grid(column=1, row=0, padx=5, pady=5)
lblVideo = Label(root)
lblVideo.grid(column=0, row=1, columnspan=2)
root.mainloop()
感谢所有阅读我的问答的人,我希望答案能帮助其他人
目前没有回答
相关问题 更多 >
编程相关推荐