开始也这么写的没成功 注意一定要安装那个 巴斯勒的程序后在运行代码 ,要不然就报什么组建错误
注:博主看着另外一个博主的博客才有下面的一些总结,有兴趣可以看一下:https://blog.csdn.net/qq_39930578/article/details/87897257
每个相机基本都有自己带的SDK 初学者看一下自己后期需要使用到什么相机就学那个列:海康、巴勒斯......前提是相机方提供的sdk里有C#的接口。
调用巴勒斯的相机使用sdk Basler产品文档:https://zh.docs.baslerweb.com/
通用套路:1.初始化相机 2.打开相机 3.设置配置 4.图像抓取 5.停止抓取 6.图片保存
采集相机的几种方式:1.多线程采集 2.setTime 定时器采集 3.回调函数 等等..
1.下载安装Basler程序:详情请看一下这个(前进ing 博主)写的:https://blog.csdn.net/weixin_41650642/article/details/81129978
2.安装好之后里面有对应的Basler.Pylon.dll文件需要在vs中引入这个dll文件大致路径是这样的D:\Basler\Development\Assemblies\Basler.Pylon\x64\Basler.Pylon.dll 这个是我电脑上的路径仅供参考
3.有什么不对的多去博客里面看看,手动滑稽! 进代码 有详注释,有什么不对的地方希望大佬们指出
using Basler.Pylon;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CSharpAndSDK
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
public class baslerCamcs
{
//连接相机的个数
public int CameraNumber = CameraFinder.Enumerate().Count;
//委托+事件=回调函数,用于传递相机抓取的图像
public delegate void CameraImage(Bitmap bmp);
public event CameraImage CameraImageEvent;
//放出一个Camera
Camera camera;
//basler里将相机采集到的图像转换成位图
PixelDataConverter pxConvert = new PixelDataConverter();
//控制相机采集图片的过程!
bool Graber = true;
//第一步初始化相机 所用的全是camera里的事件然后绑定自己写好的事件