<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于數(shù)碼相機(jī)SDK開發(fā)圖像采集應(yīng)用程序

          基于數(shù)碼相機(jī)SDK開發(fā)圖像采集應(yīng)用程序

          作者: 時(shí)間:2017-06-08 來源:網(wǎng)絡(luò) 收藏

          作為一種目前常見的消費(fèi)類商品,其基本工作原理是利用CCD光耦器件將光信號轉(zhuǎn)變?yōu)殡娦盘枺?jīng)過A/D轉(zhuǎn)換、數(shù)據(jù)壓縮等處理后經(jīng)串口或USB口在PC端控制下將圖片(多為JPEG格式)傳送到PC機(jī)的硬盤中。目前PC端的都由相機(jī)制造商所提供。很少有人注意到一些制造商為開發(fā)人員提供了相對豐富的(Software Development Kit)資源,便于有關(guān)人員利用進(jìn)行和監(jiān)測方面的開發(fā)工作。開發(fā)套件一般由頭文件(.H)、庫文件(.lib)和動態(tài)鏈接庫文件(.dll)組成。美國柯達(dá)公司是世界相機(jī)制造業(yè)和諸多影像標(biāo)準(zhǔn)制定的帶頭兵。本文將以KODAK DC280 為例對SDK及其應(yīng)用作介紹,以使感興趣的開發(fā)人員可以自編程序?qū)?shù)據(jù)相機(jī)應(yīng)用在工程項(xiàng)目中。 1 SDK結(jié)構(gòu)圖 DC280 SDK原理框圖如圖1所示。SDK控制層位于與指定SDK控制層(對于DS280相機(jī)此層為DC280SDK控制層)之間,

          本文引用地址:http://www.ex-cimer.com/article/201706/351183.htm

          它的主要作用是接收應(yīng)用程序的DC280_OpenCamera()指令,同時(shí)將指定相機(jī)SDK控制層調(diào)入內(nèi)存區(qū);接收DC2x0_CloseCamera()指令,同時(shí)釋放指定相機(jī)SDK控制層所占內(nèi)存區(qū)。指定相機(jī)SDK層位于SDK控制層下,本層支持所有訪問相機(jī)的函數(shù),并將函數(shù)執(zhí)行結(jié)果狀態(tài)碼(即錯(cuò)誤代碼)經(jīng)SDK控制層上傳給應(yīng)用程序。指定相機(jī)控制層的下層為驅(qū)動程序?qū)?。?qū)動程序用于與外部設(shè)備直接打交道。 2 SDK函數(shù)分類 SDK內(nèi)的函數(shù)按照作用類型一般可以分為以下幾類: (1)相機(jī)初始化函數(shù):主要包括_CloseCamera()和_OpenCamera()。 (2)相機(jī)控制函數(shù):主要包括_GetStatus()、_GetConfig()、_SetConfig()、_ControlCameraTime()、_ControlCameraID()、_ControlTakePicture()、_ResetCamera()。 (3)圖片管理函數(shù):_TakePicture()、_ResetCamera()。 (4)圖片信息獲取函數(shù):_GetCameraPictInfo()、_GetAllPictureName()、_GetNativePicture()。 (5)文件傳遞函數(shù):_GetFileFormCamera()、_SetFileToCamera。 (6)其他類型的函數(shù):包括電池電量數(shù)據(jù)獲取函數(shù)、最后一次操作返回碼獲取函數(shù)等。 3 SDK用法的一個(gè)典型實(shí)例 下面舉一個(gè)拍攝圖片的簡單實(shí)例使讀者大體了解編程的一般模式,其過程如圖2所示。首先是相機(jī)初始化即打開相機(jī),然后讀取目前相機(jī)中拍攝方面的參數(shù)設(shè)置,根據(jù)需要修改某些參數(shù)設(shè)置,接著拍攝圖片,最后關(guān)閉相機(jī)釋放內(nèi)存。例程如下:

          以下為SDK用法的典型例程:

          #include F210.h OSErr ret; DC280_Camera ;Camera;

          DC280_ImgProcData ThumbImgInfo;

          DC280_TakePictInfo TakePictInfo;

          DC280_PictInfo GenericPictInfo;

          DC280_SpecificPictInfo SpecificPictInfo;//打開相機(jī)

          DC280_OpenCamera(VersionData,CameraData); //獲取相機(jī)設(shè)置參數(shù)

          ret=DC280_ControlTakePicture(%26;amp;Camera,TRUE,0L,(VOIDPTR %26;amp;TakePictInfo); //修改需要變動的參數(shù)

          ret=DC280_ControlTakePicture(%26;amp;Camera,F(xiàn)ALSE,(VOIDPTR%26;amp;TakePictInfo); //拍照

          ret=DC280_TakePicture(%26;amp;Camera,TRUE,%26;amp;ThumbImgInfo,%26;amp;GenericPictInfo,

          (VOIDPTR)%26;amp;SpecificPictInfo); //可以根據(jù)需要加上文件傳遞函數(shù)等

          DC210_CloseCamera(CameraData); //關(guān)閉相機(jī)

          其中DC280_ControlTakePicture的第二個(gè)參數(shù)為GetSetFlag。當(dāng)其為true時(shí)表示從相機(jī)中獲取設(shè)置參數(shù);為false時(shí)表示將改動過的參數(shù)輸送給相機(jī)。DC280_Camera的數(shù)據(jù)結(jié)構(gòu)如下: typedef struct {DC210_PortNum PortNum; DC210_BitRate BitRateDC210_CameraTypeCamType; BOOL CameraOpenFlag; VOIDPTR InternalUseOnly; }DC280_Camera ; 本文通過柯達(dá)公司的DC280 SDK開發(fā)工具對SDK及利用它開發(fā)相機(jī)應(yīng)用程序進(jìn)行了簡單介紹。其他公司SDK的使用方法基本類似,只是函數(shù)名稱略有不同,使用方法是一致的。SDK中函數(shù)及其參數(shù)的詳細(xì)說明,可以在相機(jī)制造商的英文網(wǎng)站上從開發(fā)工具一覽中找到。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();