相机 SDK 调用
SDK 就是相机厂家给你写好的 “工具箱”,你不用自己造相机,直接调用就能拍照、录像、取图。
SDK = 相机的遥控器,你按按钮(调用函数),相机就干活。
具体能干这些事:
打开 / 关闭相机
设置参数:分辨率、曝光、增益、白平衡
实时取图(一帧一帧拿到图像数据)
拍照保存
连续采集(像监控一样一直出图)
硬件触发(外部信号来了才拍一张)
常见使用场景:
工业视觉检测(零件有没有缺陷)
人脸识别
视觉分拣
视频监控
条码识别
医学影像
直播推流
工业相机 SDK 能做到:
超高帧率
硬件触发
全局快门
精准曝光
稳定无丢帧
可长时间工作
C# 调用相机 SDK 的通用流程(所有相机都一样)
不管是大恒、海康、迈德威视、Basler、华为、大疆,流程几乎一模一样。
- 先把 SDK 放进项目
厂家会给你:
.dll 文件(相机驱动工具箱)
.cs 封装类(C# 可以直接调用)
你只需要:
复制 dll 到程序目录
在 C# 里引用 - 初始化 SDK
告诉电脑:我要开始用相机工具箱了! - 枚举相机(找相机)
程序在 USB / 网口扫一圈:有哪些相机?型号是什么? - 打开相机
相当于:按下相机电源键 - 设置参数
曝光多少?分辨率多大?帧率多少? - 开始取图
相机开始疯狂输出图片,一帧一帧传给你的 C# 程序。 - 处理图像
你拿到图片后:
显示在窗口
保存图片
做算法识别(缺陷检测、人脸识别) - 停止采集 → 关闭相机 → 释放 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();

浙公网安备 33010602011771号