相机 SDK 调用

SDK 就是相机厂家给你写好的 “工具箱”,你不用自己造相机,直接调用就能拍照、录像、取图。
SDK = 相机的遥控器,你按按钮(调用函数),相机就干活。

具体能干这些事:
打开 / 关闭相机
设置参数:分辨率、曝光、增益、白平衡
实时取图(一帧一帧拿到图像数据)
拍照保存
连续采集(像监控一样一直出图)
硬件触发(外部信号来了才拍一张)

常见使用场景:
工业视觉检测(零件有没有缺陷)
人脸识别
视觉分拣
视频监控
条码识别
医学影像
直播推流

工业相机 SDK 能做到:
超高帧率
硬件触发
全局快门
精准曝光
稳定无丢帧
可长时间工作

C# 调用相机 SDK 的通用流程(所有相机都一样)
不管是大恒、海康、迈德威视、Basler、华为、大疆,流程几乎一模一样。

  1. 先把 SDK 放进项目
    厂家会给你:
    .dll 文件(相机驱动工具箱)
    .cs 封装类(C# 可以直接调用)
    你只需要:
    复制 dll 到程序目录
    在 C# 里引用
  2. 初始化 SDK
    告诉电脑:我要开始用相机工具箱了!
  3. 枚举相机(找相机)
    程序在 USB / 网口扫一圈:有哪些相机?型号是什么?
  4. 打开相机
    相当于:按下相机电源键
  5. 设置参数
    曝光多少?分辨率多大?帧率多少?
  6. 开始取图
    相机开始疯狂输出图片,一帧一帧传给你的 C# 程序。
  7. 处理图像
    你拿到图片后:
    显示在窗口
    保存图片
    做算法识别(缺陷检测、人脸识别)
  8. 停止采集 → 关闭相机 → 释放 SDK
    用完关掉,不占资源。

// 1. 初始化SDK
CameraSDK.Init();

// 2. 查找相机
var cameraList = CameraSDK.EnumCameras();

// 3. 打开第一个相机
var camera = cameraList[0];
camera.Open();

// 4. 设置参数
camera.SetExposure(5000); // 曝光
camera.SetWidth(1280); // 宽
camera.SetHeight(960); // 高

// 5. 注册取图回调(相机一有图片就自动发给你)
camera.OnImageReceived += OnImageGet;

// 6. 开始采集
camera.StartGrab();

// 7. 拿到图像
void OnImageGet(ImageData img)
{
// 显示图片
pictureBox1.Image = img.ToBitmap();

// 或者保存
img.Save("test.jpg");
}

// 8. 停止、关闭、释放
camera.StopGrab();
camera.Close();
CameraSDK.Release();

posted @ 2026-04-08 16:41  菜鸟的奋斗军  阅读(91)  评论(0)    收藏  举报