工业机器视觉系统2D应用用到Basler(德国),Baumer(瑞士),ImageSource(台湾),大恒和海康等等牌子工业相机。
Basler(巴斯勒)是比较常用的,性价比高。aCA2500-14gm是非常常用的500百万GigE网络口圈帘黑白工业相机。不到3K的价格性能非常的稳定。
相机的SDK是Pylon-5.2.0,是Pylon不是Python,它们俩有点相同,但是是没有任何关系的。
这个SDK有C,C++,C#的开发包,但是没有Python的。在Github上有一个pypylon项目,可以用。
Pylon对应的pypylon是1.4.0版本。
下载代码直接安装就可以了。
之后就可以用下面代码测试一下了。
"""
有趣的事情
没有结束
2020/4/2 16:28
"""
from pypylon import pylon
import numpy as np
import cv2 as cv
# 连接Basler相机列表的第一个相机
camera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())
# 开始读取图像
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()
# 转换为OpenCV的BGR彩色格式
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAligned
while camera.IsGrabbing():
grabResult = camera.RetrieveResult(5000, pylon.TimeoutHandling_ThrowException)
if grabResult.GrabSucceeded():
# 转换为OpenCV图像格式
image = converter.Convert(grabResult)
img = image.GetArray()
cv.namedWindow('title', cv.WINDOW_NORMAL)
cv.imshow('title', img)
k = cv.waitKey(1)
if k == 27:
break
grabResult.Release()
# 关闭相机
camera.StopGrabbing()
# 关闭窗口
cv.destroyAllWindows()
多谢!美