【发布时间】:2021-03-23 12:29:01
【问题描述】:
LabVIEW支持从python调用函数的pallet。我是否需要分别开发 3 个单独的函数来初始化、捕获和关闭?在 python 中使用 OpenCV 访问基于 directshow 的 USB 摄像头。
如果我创建 3 个单独的函数,是否需要将它们包含在同一个 python 脚本中?就好像我正在使用 while 循环来捕获函数一样,之后编写的函数可能不会被调用。如果我将它们保存在不同的 python 脚本中,它会识别出相机在同一个会话中运行吗?
为什么后面的函数不能识别'cam'?
import cv2
import math
import os
camname = -1
img_name = "sample"
filepath = r"C:\Users\Public"
message = "sampler"
caminitok = False
inierror = False
def caminit(camname):
cam = cv2.VideoCapture(camname)
if not (cam.isOpened()):
return inierror == True
else:
return inierror == False
def camcapture(img_name, filepath, caminitok):
if caminitok == True:
ret, frame = cam.read()
os.chdir(filepath)
cv2.imwrite(img_name, frame)
def camclose():
cam.release()
【问题讨论】:
-
sweber 的回答很好,很可能会解决您的问题。但是您知道 Wineman Technology 有一个免费的、源代码发布的双向 LabVIEW/Python 连接器吗?您可以从 Python 编写 LabVIEW 脚本,或从 LabVIEW 调用 Python 函数。内置 Python 节点不允许您使用 Python 控制 LabVIEW。
标签: python camera labview vision