老古开发网首页
导航:老古开发网首页文章索引文章分类消费类电子→[利用数码相机SDK开发图像采集应用程序]
| -文章搜索 - 最新文章 - |

利用数码相机SDK开发图像采集应用程序

发布时间:2005年1月3日 点击次数:820
来源:   作者:陈 曙 辛 阳
 

 摘要:介绍柯达公司的数码相机开发套件SDK DC280、SDK的结构及其函数分类,并提供了一个典型的编程实例。

    关键词:SDK 数码相机 开发

数码相机作为一种目前常见的消费类商品,其基本工作原理是利用CCD光耦器件将光信号转变为电信号,经过A/D转换、数据压缩等处理后经串口或USB口在PC端应用程序控制下将图片(多为JPEG格式)传送到PC机的硬盘中。目前PC端的应用程序都由相机制造商所提供。很少有人注意到一些数码相机制造商为开发人员提供了相对丰富的SDK(Software Development Kit)资源,便于有关人员利用数码相机进行图像采集和监测方面的开发工作。SDK开发套件一般由头文件(.H)、库文件(.lib)和动态链接库文件(.dll)组成。美国柯达公司是世界相机制造业和诸多影像标准制定的带头兵。本文将以KODAK DC280 SDK为例对SDK及其应用作介绍,以使感兴趣的开发人员可以自编程序将数据相机应用在工程项目中。

1 SDK结构图

DC280 SDK原理框图如图1所示。SDK控制层位于应用程序与指定SDK控制层(对于DS280相机此层为DC280SDK控制层)之间,它的主要作用是接收应用程序的DC280_OpenCamera()指令,同时将指定相机SDK控制层调入内存区;接收DC2x0_CloseCamera()指令,同时释放指定相机SDK控制层所占内存区。指定相机SDK层位于SDK控制层下,本层支持所有访问相机的函数,并将函数执行结果状态码(即错误代码)经SDK控制层上传给应用程序。指定相机控制层的下层为驱动程序层。驱动程序用于与外部设备直接打交道。

2 SDK函数分类

SDK内的函数按照作用类型一般可以分为以下几类:

(1)相机初始化函数:主要包括_CloseCamera()和_OpenCamera()。

(2)相机控制函数:主要包括_GetStatus()、_GetConfig()、_SetConfig()、_ControlCameraTime()、_ControlCameraID()、_ControlTakePicture()、_ResetCamera()。

(3)图片管理函数:_TakePicture()、_ResetCamera()。

(4)图片信息获取函数:_GetCameraPictInfo()、_GetAllPictureName()、_GetNativePicture()。

(5)文件传递函数:_GetFileFormCamera()、_SetFileToCamera。

(6)其他类型的函数:包括电池电量数据获取函数、最后一次操作返回码获取函数等。

3 SDK用法的一个典型实例

下面举一个拍摄图片的简单实例使读者大体了解编程的一般模式,其过程如图2所示。首先是相机初始化即打开相机,然后读取目前相机中拍摄方面的参数设置,根据需要修改某些参数设置,接着拍摄图片,最后关闭相机释放内存。例程如下:

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

#include "F210.h"

OSErr ret;

DC280_Camera ;Camera;

DC280_ImgProcData ThumbImgInfo;

DC280_TakePictInfo TakePictInfo;

DC280_PictInfo GenericPictInfo;

DC280_SpecificPictInfo SpecificPictInfo;//打开相机

DC280_OpenCamera(VersionData,CameraData); //获取相机设置参数

ret=DC280_ControlTakePicture(&Camera,TRUE,0L,(VOIDPTR &TakePictInfo);

//修改需要变动的参数

ret=DC280_ControlTakePicture(&Camera,FALSE,(VOIDPTR&TakePictInfo); //拍照

ret=DC280_TakePicture(&Camera,TRUE,&ThumbImgInfo,&GenericPictInfo,(VOIDPTR)&SpecificPictInfo);

//可以根据需要加上文件传递函数等

DC210_CloseCamera(CameraData); //关闭相机

其中DC280_ControlTakePicture的第二个参数为GetSetFlag。当其为true时表示从相机中获取设置参数;为false时表示将改动过的参数输送给相机。DC280_Camera的数据结构如下:

typedef struct {DC210_PortNum PortNum;

DC210_BitRate BitRate;

DC210_CameraType CamType;

BOOL CameraOpenFlag;

VOIDPTR InternalUseOnly;

}DC280_Camera ;

本文通过柯达公司的DC280 SDK开发工具对SDK及利用它开发相机应用程序进行了简单介绍。其他公司SDK的使用方法基本类似,只是函数名称略有不同,使用方法是一致的。SDK中函数及其参数的详细说明,可以在相机制造商的英文网站上从开发工具一览中找到。


 


欢迎进入老古论坛进行讨论
[消费类电子] 相关文章:
新型数字CCD相机及其图像数据传输卡设计
简介:
摘要: 以DALSA 公司的CA-D7-1024T数字CCD相机为例,详细讨论了数字CCD相机的接口信号及其时序关系;研究了数字CCD相机图像传输卡的关键技术,介绍了传输卡的电路原理及各部分的实现方法。 关键词: CCD相机 FGPA 图像数据传输卡 PCI总线 随着CCD技术的发展,频率高、数字化的新型CCD相机不断出现。CCD相机输出的数字化,简化了相机与传输采集系统的接口设计,使数字CCD相机正越来越多地成为实时PCI控制、数据采集、图形图像处理、遥感遥测等系统中的探测器。这种CCD相机多采用帧转移型体系结构,......

ISD4004语音芯片在语音报站器中的应用
新型MP3解码芯片VS1001K及其应用
新型语音压缩编解码器AMBE2000
语音处理芯片AC48105在低速语音编码设备中的应用
赛普拉斯为英特尔提供单芯片参考和扩频时钟发生器
P&S正式成为飞思卡尔FreeScale公司代理商
ST推出具数字录像和加密功能单片高清电视方案
赛普拉斯公司宣布推出HOTLink-On-Demand(tm)系列SMPTE物理层器件
德州仪器宣布已向市场提供300万件DLP™ 产品
 
下一个:[新闻热点]全球电容市场需求量猛增
简介:
全球平板电视、DVD与数码相机等数字家电产品的不断涌现,带动了全球电容产品市场需求的大幅度增长。除此之外,全球汽车电动产品市场也成为全球电容产品的另一个新的需求领域。仅就日本国内市场而言,2004年的1月~4月,日本电容产品的生产量与2003年同期相比,增长了近38%,其市场销售量则增长了14.3%。   目前,随着全球电子元件产品大集成化与高速处理化技术的日益发展,随着全球通信产品高频化技术的日益发展以及全球移动产品小型化、高性能化技术的日益发展,全球市场对电容产品技术性能的要求也更高了。   ......
 

上一个:[消费类电子]数字视频接口——DVI 1.0

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒