佳能单反SDK 步骤

 EdsInitializeSDK();

EdsGetCameraList(&eclr);//获取相机列表

EdsGetChildCount(eclr, &camCount);  //获取相机数量

edsError = EdsGetChildAtIndex(eclr, 0, &camera);   //获取相机句柄,存储在camera里

EdsSetCameraStateEventHandler(camera, kEdsStateEvent_All, handleSateEvent, NULL);    //设置处理相机“状态”事件的函数

EdsSetObjectEventHandler(camera, kEdsObjectEvent_All, handleObjectEvent, NULL);    //设置处理相机 事件的函数

 

 

EdsOpenSession(camera);   //打开相机会话

EdsGetDeviceInfo(camera, &outDeviceInfo);   //获取相机设备信息  outDeviceInfo

EdsSetPropertyData(camera, kEdsPropID_SaveTo, 0, sizeof(EdsUInt32), &saveTo);   //设置相机照片存储路径

      EdsCapacity capacity = { 0x7FFFFFFF, 0x1000, 1 };
 EdsSetCapacity(camera, capacity);                //设置相机属性

EdsSendCommand(camera, kEdsCameraCommand_TakePicture, 0);     //发送拍照指令

 

 

 EdsCloseSession(camera);//关闭相机会话     和Open对应

 

EdsTerminateSDK   释放SDK  一般最后做

 

EdsRetain(object);//增加现有对象的引用计数器

 

事件捕获:

kEdsStateEvent_CaptureError   

kEdsStateEvent_JobStatusChanged

 

 

 

 

 

一些常见错误:

 

 

疑难:

state event 错误: OX311不知道是啥   出现这个stat的时候,  take picture 一般是0X81   0X311是和相机失去连接了,需要重新拔插数据线?

EdsError   错误  : EDS_ERR_DEVICE_BUSY   0X81发生在  EdsSetPropertyData   估计是哪里没有释放造成的?

 

 

 

回调函数无法调用解决:   ---- 好像下面方法也无法解决  麻蛋。。

If you're using the EDSDK on Windows, you have to have a Windows message loop in your main thread, otherwise callbacks won't happen. (This is because the EDSDK uses the obsolete COM STA threading model instead of real threads.)

   while(GetMessage(&msg, NULL, NULL, NULL))
    {        
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    }

bool bPhotoTaken = false;
main()
{
 // Initialize EDSDK, start session with camera, change SaveTo property
 // register ObjectEventHandler
 // send kEdsCameraCommand_TakePicture

   while((bRet = GetMessage(&msg, NULL, 0, 0)) != 0)
   {
     if(bRet == -1 || bPhotoTaken)
     {
         break;
     }
     else
     {
         TranslateMessage(&msg);
         DispatchMessage(&msg);
     }
   }

  // Cleanup EDSDK
}








handlePropertyEvent :

0X101      kEdsPropertyEvent_PropertyChanged -     这个参数说明参数发生了改变

0X102      kEdsPropertyEvent_PropertyChanged - 这个参数说明参数发生了改变

err = EdsDownloadEvfImage(theCamera, evfImage);    这里偶尔会出现 bug : EDS_ERR_OBJECT_NOTREADY ;      如果要获取流的话  就要不断去查询才可以,查询到object准备好了 就获取里面的数据。






 

转载于:https://www.cnblogs.com/luoyinjie/p/8803683.html

佳能(数码相机)SDK使用记录 文章目录前言一、文档脉络图二、使用记录总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、文档脉络图 二、使用记录 EDSDKEDSDK_64两个文件夹,我判断分别为x86和x64的库文件,包含dll、lib和h文件,其中x64版本没有h文件有些奇怪。 VC例程文件夹中有一份pdf文档,考虑是SDK的使用说明。 使用VC版. 阅读详情

相关推荐

Unity控制佳能单反拍照及数据获取

Unity3D控制佳能单反,需要使用佳能EDSDK,Unity可以控制单反拍照,获取单反实时视频流,下载单反媒体文件。

u010941527的专栏 8162

佳能相机开发包Canon EDSDK 3.6.1-Windows

佳能相机开发包Canon EDSDK 3.6.1-Windows,开发佳能相机必需SDK,内有sample code, 类图、时序图等

Unity与佳能单反深度集成:实时拍照与视频流获取实战

本文详细介绍了Unity与佳能单反深度集成的实战方法,包括实时拍照与视频流获取技术。通过EDSDK控制相机参数、实时获取取景器画面,并优化延迟问题,适用于虚拟摄影棚、AR/VR等高精度图像捕捉场景。文章还提供了硬件选型、代码实现及备选方案,帮助开发者快速掌握专业级图像采集技术。

weixin_28717467的博客 422

佳能数码相机SDK(canon sdk c#)

佳能数码相机开发包 CDSDK 7.3 and PRSDK 1.1.0d C#例子程序源码 (此资源为网上所得,不是本人作品,仅供学习)

佳能相机的拍照应用开发canon EDSDK C#

重要提示: Unity 2017开始已经支持到.net 4.5了!!! 可以接入单反SDK了!!我也很久没有做单反的接入了,所以不要问我了。 关于SDK,中国是没有被允许对主流单反SDK申请开发,所以可以选择到外国单反官网申请SDK,也可以通过一些网站下载,反正我没有了... ------------------ 原文: 之前已经在unity3d做了一款成品软件 无奈由于u3d...

PA_的博客 1万+

【亲测免费】 佳能相机SDK及说明文档

佳能相机SDK及说明文档 【下载地址】佳能相机SDK及说明文档 本仓库提供了一个包含佳能数码单反相机开发SDK的资源文件,旨在帮助开发者快速上手佳能相机的编程开发。资源文件内含完整的VC、VB、C#官方代码示例,以及详细的官方API说明文档,为开发者提供了全面的参考资料 ...

gitblog_09744的博客 857

C#相机控制应用开发:Canon EDSDK与Nikon SDK实战

SDK(Software Development Kit)是软件开发工具包,包含了一系列的开发工具、库函数、文档和指南等,使得开发者可以快速开发特定的应用程序。对于Canon和Nikon相机的SDK而言,它们提供了直接与相机硬件交互的接口和协议,允许开发者控制相机的各种功能,如拍照、调整设置、传输图片和视频等。为了实现远程控制尼康相机,开发者需要了解相机支持的通信协议。尼康相机通常支持基于USB或Wi-Fi的通信方式。在USB控制模式下,尼康提供了专有的SDK来实现与相机的通信。

weixin_30218749的博客 1555

【免费下载】 用Unity控制佳能单反:开启摄影与游戏开发的跨界之旅

用Unity控制佳能单反:开启摄影与游戏开发的跨界之旅 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在游戏开发和摄影领域,技术的融合总能带来意想不到的创新。今天,我们向您推荐一个开源项目——Unity控制佳能单反,这是一个专为Unity开发者设计的资源文件,旨在帮助您通过Unity平台控制佳能单反相机,实现拍照、照片文件回传以及实时视频播放等功能。无论您是游戏开发者...

gitblog_09730的博客 1405

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍 【下载地址】佳能单反相机开发包CanondigitalcameraSDK3.9.0版本介绍 佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍 ...

gitblog_09755的博客 1290

佳能单反SDK最新版 Canon_EOS_ED-SDK_v3.6.10

Canon_EOS_ED-SDK_v3.6.1.rar ,含EDSDKEDSDK_64、文档Document、范例Sample。 Supports models beginning from the EOS 1D Mark III in 2007. The following models are supported as of March 2010. EOS-1D Mark III EOS 40D EOS-1Ds Mark III EOS DIGITAL REBEL Xsi/450D/ Kiss X2 EOS DIGITAL REBEL XS/ 1000D/ KISS F EOS 50D EOS 5D Mark II EOS Kiss X3/EOS REBEL T1i /EOS 500D EOS 7D EOS-1D Mark IV EOS Kiss X4/EOS REBEL T2i /EOS 550D EOS 60D EOS Kiss X5/EOS REBEL T3i /EOS 600D EOS Kiss X50/EOS REBEL T3 /EOS 1100D EOS 5D Mark III EOS 1D X EOS Kiss X6i/EOS 650D/EOS REBEL T4i EOS M EOS 6D EOS-1D C EOS Kiss X7i/EOS 700D /EOS REBEL T5i EOS Kiss X7/EOS 100D/EOS REBEL SL1 EOS 70D EOS M2 EOS Kiss X70/EOS 1200D/EOS REBEL T5/EOS Hi EOS 7D Mark II EOS 5DS / EOS 5DS R / EOS REBEL T6s / EOS 760D / EOS 8000D / EOS REBEL T6i / EOS 750D / EOS Kiss X8i / EOS M3 EOS-1D X Mark II / EOS 80D / EOS Rebel T6 / EOS 1300D / EOS Kiss X80 / EOS M10 EOS 5D Mark IV EOS Kiss X9i / EOS Rebel T7i / EOS 800D / EOS 9000D / EOS 77D / EOS M5 / EOS M6 EOS 6D Mark II / EOS Kiss X9 / EOS Rebel SL2 / EOS 200D Please note: Remote capture functions are not supported for the EOS M/EOS M2/EOS M3/EOS M10/EOS M5/EOS M6.

佳能相机SDK

提供佳能相机SDK,该SDK可在Windows平台下使用,包括静态库、动态库、头文件、sample,以及说明文档。佳能相机SDK的获取渠道很少!特提供出来,便于大家进行研究学习,希望不要用于商业目的!

佳能相机Canon-EDSDK-13.11.0-Windows.zip

佳能相机开发EDSDK,最新版本,从国外网站上下载的,分享给大家。

Unity控制佳能单反资源文件介绍

Unity控制佳能单反资源文件介绍 去发现同类优质开源项目:https://gitcode.com/ 资源文件概述 本仓库提供了一个名为“Unity控制佳能单反.zip”的资源文件,适用于Unity 2018.4.5版本。该资源文件包含了一个完整的Unity工程,旨在帮助开发者通过Unity控制佳能单反相机,实现拍照、照片文件回传以及实时视频播放等功能。 资源文件内容 Plugin目录 EDSD...

gitblog_09722的博客 320

Unity与佳能单反深度集成:拍照控制与实时数据流处理实战

本文详细介绍了如何实现Unity与佳能单反的深度集成,通过EDSDK进行远程拍照控制和实时数据流处理。文章从硬件连接到SDK导入,再到核心代码实战,逐步讲解如何用程序控制相机参数、触发拍照,并重点探讨了获取实时画面的两种方案:基于EDSDK的USB流传输及其延迟挑战,以及结合视频采集卡的低延迟HDMI方案。为虚拟试衣、互动艺术等需要高画质实时融合的应用提供了实用指南。

weixin_29002209的博客 197

【FAQ】什么是 Canon EDSDK(EOS Digital SDK

EDSDK(EOS Digital SDK)是佳能推出的一种适用于佳能数码相机的软件开发工具包。EDSDK由一组API、DLL和静态链接库组成,这些库为软件开发人员提供了控制相机以及访问相机生成的数据的方法。

Canon SDK 的官方博客 1983

佳能EDSDK API完整指南与实战

本文还有配套的精品资源,点击获取 简介:EDSDK佳能公司推出的软件开发工具包,专门用于开发佳能EOS系列数码相机交互的应用程序。它允许开发者通过编程接口实现相机控制、图像获取、文件系统访问和元数据处理等功能。本文档“EDSDK_API.pdf”详尽介绍了如何使用EDSDK,包括控制相机设置、获取实时图像预览、管理相机内文件、处理事件通知以及读写图像元数据的步骤和最佳实...

weixin_35734408的博客 3335

欢迎大家关注!佳能 SDK 的服务号正式上线!

服务号有佳能 SDKSDK 应用和 SDK 服务三部分内容,在佳能 SDK 里能清晰准确了解 SDK 最新信息及兼容机型介绍,并且能及时快速申请 SDK,同时也能在 SDK 应用中及时了解 SDK 行业应用和创新应用,当然也能在 SDK 服务中及时查询申请进度、使用中遇到的常见问题等。佳能 SDK 业务的服务号 “佳能影像解决方案服务” 正式开通了!服务号专注SDK 业务的动态,快和你身边的 小伙伴一起关注起来吧!如果您想更多的了解佳能 SDK 业务,请扫描下方二维码,关注我们。

Canon SDK 的官方博客 529

【亲测免费】 佳能相机SDK开发者必备的编程利器

佳能相机SDK开发者必备的编程利器 【下载地址】佳能相机SDK及说明文档 本仓库提供了一个包含佳能数码单反相机开发SDK的资源文件,旨在帮助开发者快速上手佳能相机的编程开发。资源文件内含完整的VC、VB、C#官方代码示例,以及详细的官方API说明文档,为开发者提供了全面的参考资料 ...

gitblog_09710的博客 921
上一篇: C#根据WSDL文件生成WebService服务端代码
下一篇: C# WinfForm 控件之dev报表 XtraReport (五) 并排报表
weixin_30535043
博客等级 码龄11年 111粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值