【问题标题】:Connecting to Cognex Camera using Open CV and Python使用 Open CV 和 Python 连接到 Cognex 相机
【发布时间】:2019-12-25 23:40:47
【问题描述】:

我的问题是我需要从相机拍摄照片并使用 opencv 和 Python 对其进行处理以获取坐标并将它们发送到机械臂,但是我无法使用以下代码与 Cognex 相机进行通信(我是从 opencv 文档中得到的):

import cv2

cognex = cv2.VideoCapture('192.168.1.5')
while True:
     ret, frame = cognex.read()
     cv2.imshow('Cognex Camera', frame)
     if cv2.readKey(1) & 0xFF == ord('q'):
           break

cognex.release()
cv2.destroyAllWindows()

但是当我运行这个例子时,我得到了这个错误:

warning: Error opening file 
(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:901)
warning: 192.168.1.5 
(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:902)
Traceback (most recent call last):
File "ejemplo.py", line 8, in <module>
cv2.imshow('Cognex Camera', frame)
cv2.error: OpenCV(4.1.0) C:\projects\opencv- 
python\opencv\modules\highgui\src\window.cpp:352: error: 
(-215:Assertion failed) size.width>0 && size.height>0 in function 
'cv::imshow'

我认为这是因为它没有打开与相机的连接。 我在互联网上搜索了可以帮助我的信息,但我无法确定它是否真的可以连接或无法连接 opencv 与 Cognex 相机。

【问题讨论】:

  • 我猜你会想要cv2.VideoCapture('http://192.168.1.5')
  • 我试过了,还是不行,还是一样的错误。
  • 您是否尝试ping 相机?你从哪里得到它的地址?您是否已登录路由器查看 DHCP 分配?它是否通过 http 或 rtsp 提供图像?您应该指定一个端口吗?它是哪款相机?康耐视自己的软件能看到摄像头吗?
  • 1) 是的,我试过了。我在 in-sight explorer 软件中设置的 IP,我没有使用 DHCP 协议。 2)我尝试使用 http 和 rtsp,但这些都不起作用。也许相机不支持此协议。 3) 我知道这台摄像机的唯一端口是 23,但这个端口用于 Telnet 连接。 4) 相机是 inSight 7000 gen II 5) 是的,康耐视有一个软件来获取连接并对相机进行编程。
  • 我认为您应该联系康耐视。 AFAIK 康耐视要求您使用他们的 sdk 连接到相机(与许多其他相机供应商一样),然后您必须将其转换为 OpenCV 图像,然后您才能执行您的过程...

标签: python opencv camera


【解决方案1】:

不确定您是否找到了解决方案,但您可以尝试 Pleora eBUS SDK,它允许您使用任何供应商的相机并与 OpenCV 集成。 https://www.pleora.com/products/ebus-software/ebus-sdk/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-20
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多