數碼相機透過 CCD 感光元件將光訊號轉為電訊號,經 A/D 轉換、壓縮後經序列埠或 USB 傳輸至 PC。廠商提供的 SDK(含 .h、.lib、.dll)讓開發者可整合相機進行影像擷取與監測開發。本文以 Kodak DC280 SDK 為例說明架構與用法。
DC280_OpenCamera/CloseCamera)。| 類別 | 代表函式 |
|---|---|
| 相機初始化 | _OpenCamera(), _CloseCamera() |
| 相機控制 | _GetStatus(), _GetConfig(), _SetConfig(), _ControlCameraTime(), _ControlTakePicture(), _ResetCamera() |
| 影像管理 | _TakePicture(), _DeletePicture() |
| 影像資訊 | _GetCameraPictInfo(), _GetAllPictureName(), _GetNativePicture() |
| 檔案傳輸 | _GetFileFromCamera(), _SetFileToCamera() |
| 其他 | 電池電量、最後操作回傳碼等 |
#include "F210.h" OSErr ret; DC280_Camera Camera; DC280_ImgProcData ThumbImgInfo; DC280_TakePictInfo TakePictInfo; DC280_PictInfo GenericPictInfo; DC280_SpecificPictInfo SpecificPictInfo; // 1. 開啟相機 DC280_OpenCamera(VersionData, CameraData); // 2. 取得目前參數 ret = DC280_ControlTakePicture(&Camera, TRUE, 0L, (VOIDPTR)&TakePictInfo); // 3. 修改所需參數 // ... 修改 TakePictInfo 結構成員 ... // 4. 將修改後參數寫入相機 ret = DC280_ControlTakePicture(&Camera, FALSE, (VOIDPTR)&TakePictInfo); // 5. 拍攝影像 ret = DC280_TakePicture(&Camera, TRUE, &ThumbImgInfo, &GenericPictInfo, (VOIDPTR)&SpecificPictInfo); // 6. 可選:檔案傳輸等後續處理 // 7. 關閉相機釋放資源 DC210_CloseCamera(CameraData);
DC280_Cameratypedef struct {
DC210_PortNum PortNum;
DC210_BitRate BitRate;
DC210_CameraType CamType;
BOOL CameraOpenFlag;
VOIDPTR InternalUseOnly;
} DC280_Camera;
DC280_ControlTakePicture 第二參數 GetSetFlag:TRUE 讀取參數,FALSE 寫入參數。
其他廠商 SDK 使用模式大同小異,僅函式命名不同。詳細函式說明請參考廠商開發者網站文件。善用 SDK 可將消費級數碼相機整合至工程專案,實現低成本影像擷取與監測。