问题标签 [edsdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3469 浏览

c++ - 佳能 SDK。从相机拍照

我有佳能 EOS D600 相机。需要使用 C++ 拍照。文档对我没有帮助。你有示例代码,可以拍照吗?这没有帮助:

有错误:[链接器错误]未定义引用` imp _EdsInitializeSDK@0'

请帮忙

0 投票
1 回答
581 浏览

c++ - EDSDK cpp 错误:10 EDS_ERR_MISSING_SUBCOMPONENT

我正在尝试开始使用 EDSDK 来控制我的佳能 500D。我是 cpp 和 windows XP 应用程序的新手,我正在使用 Visual Studio。经过大量的盲目试验和错误后,我终于设法让应用程序编译文档中的基本示例代码。为此,我将 EDSDK.h、EDSDKTypes.h 和 EDSDKErrors.h 标头放在正确的位置,并将 EDSDK.dll 和 EDSDK.lib 与代码放在同一文件夹中。它似乎正在捡起这些。我已经让 500D 被 PC 识别,所以我相信 USB 驱动程序在那里。

该代码只是试图拿起相机:

但是,当我运行此控制台应用程序时,错误被拾取为 10 - 根据文档,这表明缺少子组件。无论相机是否连接都会发生这种情况,所以我认为这是编译中缺少的东西。但是我对文档一无所知。

我已经从下载而不是官方途径安装了 edsdk 2.4 Windows 版本,所以这可能是一个问题。

任何人都可以帮忙吗?具体来说,我怎样才能找出丢失的子组件可能是什么,以便我可以包含它。这是构建的子组件,例如头文件还是驱动程序?

0 投票
3 回答
1579 浏览

c++ - 事件处理程序 Canon SDK 2.12 没有回调

我编写了一个简单的控制台程序来在佳能 EOS 600D 上拍照。到目前为止它工作正常,但我想

  • 拍摄照片时获取事件
  • 如果它是导致事件的新图像,我想将它作为文件对象来访问它的属性,如文件名

我的事件处理程序已初始化,但在拍照时我没有收到事件/回调。

我在其他线程中读到,如果我在 Windows 64Bit 上工作可能会出现问题,但今天几乎所有系统都是 64 位的。这真的是个问题吗?

这是我到目前为止的代码:

谢谢你的帮助!

最好的问候,理查德

0 投票
1 回答
2162 浏览

c++ - 佳能 SDK - 将图像下载到主机 PC

我正在尝试将佳能相机拍摄的图像从其 SD 卡下载到主机 PC,我已经编写了代码,以便它可以拍摄并且不再将其保存在 SD 卡上,但我在主机PC。有人有方向吗??我的主要和功能如下所示,不包括 getFirstCamera 功能。

我真的不知道回调函数等是如何工作的。所以如果有人可以提供代码片段,如果有需要修复的东西,那就太好了

0 投票
0 回答
862 浏览

edsdk - 设置自定义 LiveView 白平衡值

使用 EDSDK,我想以编程方式设置 LiveView 流的白平衡 (RGGB) 值,以及直接来自凸轮的 JPG(和 RAW)图像的白平衡。手动白平衡实时取景和离机图像的过程对我来说并不完全清楚,在 EDSDK 手册中也不是很清楚。

通过反复试验,我通过发出带有灰卡坐标的 kEdsCameraCommand_DoClickWBEvf 命令来校准 LiveView。这似乎会影响实时取景:

  • 实时取景切换到“ClickWB”(-1)白平衡设置
  • 相机设置保持不变:它不会改变相机的拍摄值。
  • 请注意,当设置为“ClickWB”时,相机上的“手动 WB”图标会消失,似乎有问题。

显然,佳能的 EOS 实用程序做的事情略有不同。使用 PTP 事件的一些跟踪和轮询,我看到:

  • 单击白平衡会向相机发送类似的 ClickWB 命令。
  • 单击“应用于拍摄的图像”时,向相机发送命令
  • 相机白平衡保持在值 6(“手动”、“白点”或“白皮书”,具体取决于上下文)。
  • Liveview 在切换到 6 时也会受到影响。
  • 跟踪显示“CPtpCamera::TranslateMWb”命令的证据,好像有一个命令来设置用户余额。
  • 显然可以检索“原始”白平衡系数,因为 EOS 显示有关系数不正确的警告。

对于 RAW 图像,我通过存储灰卡 RAW 中的白平衡系数来解决白平衡问题,并在将新图像(没有灰卡)转换为 TIFF 时重新应用这些系数。这不会影响相机上的 JPG,即拍白平衡,并且在重置后无法恢复。

断开/重新连接相机并(以编程方式)应用先前校准或存储的 WB 值时,我被卡住了。这是否可能,如果可以,我如何复制原始白平衡值。这里有谁有使用 EDSDK 手动 WBing 的经验,愿意分享分享的类型/顺序吗?

笔记:

  • 佳能对 EDSDK 不提供任何官方技术支持
  • 据报道,较旧的 SDK 包含命令(例如,在 2.5 kEdsPropID_UserWhiteBalanceData 中)。这个一定要换吗?

--- 2014 年 12 月 17 日更新 ---

我目前(间接)与佳能的 EDSDK 开发人员进行“官方”联系,目前没有通过 EDSDK 设置相机内自定义白平衡的官方方式。

0 投票
1 回答
661 浏览

c# - 佳能 EDSDK:如何下载录制的视频?

我需要在我的电脑上下载我刚刚录制的视频。我设法用图片做到了,但对于视频,我只得到一个空文件。

我已经注册了对象事件处理程序

然后,我开始录制:

对象事件处理程序:

最后,downolad

在调试模式下,方法 EDSDK.EdsDownload 永远不会结束,但是没有异常,或者返回码...

请帮忙 !

0 投票
1 回答
1054 浏览

edsdk - 如何使用佳能 edsdk 和 java 录制视频?

我想使用 canon edsdk 录制视频,在文档中我发现我们可以使用高于 2.11 的版本录制视频。我想使用 java 代码来使用它。如果有人回答这个问题,请告诉我。

0 投票
0 回答
375 浏览

edsdk - 佳能 EDSDK 代码未在 Visual Basic 中返回正确的值

我正在尝试初始化 Canon EDSDK 的 API,但由于某种原因,err = EdsInitializeSDK() 没有返回正确的值“0”或 EDS_ERR_OK。这导致它跳过所有剩余的 if 语句。

这是代码:

我认为我的 API 设置正确,但我可能是错的。

此代码可能会有所帮助:

当我解除该功能时,我应该做其他事情吗?

0 投票
0 回答
365 浏览

c# - EDSDK EdsSetPropertyData 问题

在 Visual Studio 中,我有一个程序,当前每次单击按钮时都会拍摄 5 张照片。我希望程序拍摄这 5 张照片,然后更改光圈设置并拍摄最后一张照片。没有真正相关的代码,所以这是为已经了解 SDK 的人准备的。

我已经四处寻找如何处理这个问题,但我对一般的编码相当缺乏经验。

谢谢!

也许有用的代码

这就是它自己的应用程序的样子。有几个dll和其他涉及的东西。

0 投票
2 回答
3070 浏览

c# - 佳能 EDSDK 命令 TakePicture 会在焦点错误后阻止所有内容

我正在使用佳能 SDK 2.1,我正在尝试从 C# 代码对相机拍照。我开始了一个会话(EdsOpenSession),这行代码一切正常:

相机拍摄一张照片并将其存储在存储卡上。

问题就在这里:如果出现自动对焦错误(例如镜头盖打开),相机就会“忙”并且永远不会回来。

此外,如果我尝试使用 EdsCloseSession 或 EdsTerminateSDK 功能关闭 EDSDK,它们会阻塞。重新启动它的唯一方法是重新启动应用程序和相机。我正在使用 EOS 100D。

我该怎么做才能忽略这些 AF 错误并尝试拍摄另一张照片?