1、简介
这里对basler相机的C#开发代码进行最基础的解释
2、引用库
Basler.Pylon.dll
3、几种方法
(1)图片格式转换
private PixelDataConverter converter = new PixelDataConverter();
(2)检测并把找到的相机放到list
List <ICameraInfo> allCameras = CameraFinder.Enumerate();
(3)连接相机
这里的 selectedCamera需要放入上面的selectedCamera中的一个(比如:selectedCamera[0]),你也可以让其for()循环,allCameras[i] 直到连接上就停止。
private Camera camera = null;
camera = new Camera(selectedCamera);
camera.Open();
(4)拍照
camera.StreamGrabber.Start()
(5)停止拍摄
camera.StreamGrabber.Stop();
(6)关闭相机
camera.StreamGrabber.Stop();
(7)读取拍摄文件
IGrabResult grabResult = camera.StreamGrabber.RetrieveResult(4000, TimeoutHandling.ThrowException);
if (grabResult.IsValid)
{
Bitmap bitmap = new Bitmap(grabResult.Width, grabResult.Height, PixelFormat.Format32bppRgb);
//格式转换
BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat);
converter.OutputPixelFormat = PixelType.BGRA8packed;
IntPtr ptrBmp = bmpData.Scan0;
converter.Convert(ptrBmp, bmpData.Stride * bitmap.Height, grabResult);
bitmap.UnlockBits(bmpData);
//显示图片
pictureBox.Image = bitmap;
//保存图片(保存路径,保存格式)
bitmap.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
4、注释
basler相机进阶代码:https://blog.csdn.net/chotin/article/details/103943033
basler相机代码下载:https://download.csdn.net/download/chotin/12098938