1 basler工业相机介绍与驱动安装
1.1 basler介绍
1、basler工业相机是德国品牌,从驱动和连接上感觉要比dalsa的相机更好连接和使用,并且basler自带的驱动
pylon Viewer
能够
保存视频 和 保存连续的视频帧图片
,比较方便对相机进行测试工作。而dalsa的驱动
CamExpert
如果要保存连续的帧图片,还必须要根据接口自己去写,这样就有些耽误测试的进度!
2、20220907 周三,去席总哪里拿了一个baslar的面阵黑白相机
3、相机型号为basler acA1600-20gm,目前该相机已经停产(
参考
)!
该相机的用户手册下载
里面有该相机的参数介绍,相机的设计图,相机电源针脚图等介绍。
1.2 basler驱动的安装
1、安装baslar驱动
Basler_pylon_5.0.9.10388.exe
如下,需要选择相机的
连接接口
,如下,一共有四种:
USB 接口的相机
GigE 接口的相机(
使用网线连接,一般工业相机使用的都是千兆网线
)
FireWire 接口的相机
Camera Link 接口的相机
每个相机接口外观如下所示:
2 basler相机连接
这里我以
basler 面阵黑白相机acA1600-20gm
为例说明,(该相机是GigE接口,即使用网线进行连接),其他相机也是如此,没有什么区别。
1、打开
pylon IP Configurator应用程序
2、首先在命令行下使用
ipconfig命令
查看自己以太网的IP地址,我的是
192.168.1.22
,因此只需要把相机的IP地址配置成同网段的
192.168.1.xxx
即可连接,如下:
3、然后打开数据采集软件
pylon Viewer软件
,此时可以看到GigE下连接的相机
Basler acA1600-20gm
(红色的圆按钮就是数据采集按钮!)
3 相机使用pylon Viewer软件采集视频或图片数据
1、选择视频录制或连续帧的照片采集
1)点击工具栏中的
红色按钮
,选择:
Video (AVI)录制视频采集
Sequence of still images:连续的帧照片采集
2)视频采集窗口打开如下:
4 在pylon Viewer中调节相机参数设置
1、打开
View-Features (Basler acA1600-20gm)
就可以在左下方看到对应的窗口,此时可以在里面设置相机的
触发方式、白平衡等等参数
!
5 basler相机的python接口
pypylon库包是basler官方提供的basler的相机的python接口,安装方式:
pip install pypylon
5.1 使用python pypylon库包调用basler相机
1、连接上相机之后,就可以使用如下的
pylon接口
调用
basler相机进行数据采集了
。如下是读取摄像头的每一帧数据并保存!(
参考
)
from pypylon import pylon
import cv2
camera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAligned
i = 0
while camera.IsGrabbing():
grabResult = camera.RetrieveResult(1000, pylon.TimeoutHandling_ThrowException)
i += 1
if grabResult.GrabSucceeded():
image = converter.Convert(grabResult)
img = image.GetArray()
cv2.namedWindow('title', cv2.WINDOW_NORMAL)
cv2.imshow('title', img)
cv2.imwrite(r'D:\dataset\test_data\%06d.jpg'%i, img)
k = cv2.waitKey(1)
if k == 27:
break
grabResult.Release()
camera.StopGrabbing()
cv2.destroyAllWindows()
6 相机保存图片存储大小的计算
bmp格式图片存储大小计算
因为,bmp是位图(bitmap)
就是原始数据,数据是没有经过压缩的,jpg和png都是经过压缩的格式,因此不能够直接计算出他们的存储大小
1、首选确定bmp图像的位深
,如下示例bmp图像的位深为24位
一个字节等于八位:1Byte=8bit
2、因此bmp格式图片的存储大小为:
bmp格式图片存储大小=w×h×bit_deep(单位bit)
因此上图图片的存储大小为:
存储大小=81626×1236×24bit=6029208Byte=10246029208Byte=5887.8984375KB=10245887.8984375KB≈5.7499MB
可以看到我们计算出的大小和图片信息显示的5.75MB
是保持一致的!
3、其他格式
一般其他格式图片的位深
:
jpg格式是RGB通道,位深是24
png格式是RGBA通道,位深是32
但是jpg和png图像是经过压缩的,因此存储大小会比bmp格式小很多,比如一张表面bmp格式图片可能9MB大小,保存成png格式可能只有200KB大小!(当然具体大小是多少,应该是和压缩的方式密切相关的,压缩越多,图片存储大小就越小,这样图像的质量也就越差!)
参考:www.jianshu.com/p/3eceec14f…
参考:blog.csdn.net/augustme/ar…
参考:blog.csdn.net/weixin_4364…