问题标签 [canon-sdk]

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 投票
0 回答
488 浏览

c# - edsdk - 以编程方式制作图片

如何使用带有 edsdk 2.12 的相机 Canon EOS Rebel T3i/600D 拍照?我想使用 C# 以编程方式从相机拍摄照片。

0 投票
1 回答
4063 浏览

c++ - 使用 edsdk 2.10 拍照并将图像保存到我的 c:\photo,使用 c++

我是c++和canon EDSDK的初学者,现在我可以使用sdk控制相机拍照,但是我想将图片保存到路径c:\ photo,我尝试了一些方法,现在图片没有保存到相机,但我在我的电脑中找不到它们。我应该如何更改我的代码或添加什么?

0 投票
2 回答
1322 浏览

c++ - Canon SDK:下载两台设备拍摄的最新图片到主机

我正在 Visual Studio 2010 中编写基于 Windows 的应用程序。我的主机 PC 连接到两台 Canon EOS 600D。到目前为止,我管理了两张照片,将其直接(无需 SD 卡)下载到主机 PC 并将图片以特定名称存储在主机上。如果我在循环中执行我的代码,它也可以正常工作(循环的索引指定相机和目标文件)。在下一步中,我使用 OpenMP2.0 来加速循环(这是我使用 OpenMP 的第一个项目)。现在照片是同时拍摄的,但不幸的是,两张照片都由同一个消息循环(相机 0 或相机 1)处理,而不是每个任务的相应消息循环。结果,来自相机缓冲区的图片存储在同一个文件中。

如果有人知道如何摆脱这个问题,那就太好了。从我的角度来看,最有利的解决方案是,我告诉消息循环(因为我发现一个就足够了)从哪个线程/相机拍摄了照片。如果我能避免使用 Mutex 也很好,因为这会减慢我的算法。

到目前为止,这是我的事件处理程序,它可以工作,但必须找到 threadNo

我的主要功能

提前致谢。

编辑 1:我刚刚发现,如果我禁用 Windows 消息循环(引用它),程序会显示以下行为:

第一次执行:拍摄2张照片

第 2 次执行:从上一次执行中下载两张图片,拍摄 2 张​​新图片

所以看起来,线程号和消息以某种方式存储,并且它在执行中存活并在下一次执行中重新加载(无论主窗口是否被破坏都无关紧要)。所以我必须把它按正确的顺序排列。

编辑2:现在我找到了一个似乎可以正常工作的解决方案。kEdsPropID_BodyIDEx我通过相机机身的序列号解决了这个问题,但由于该功能在 2.12 版本中被禁用,因此我不得不返回佳能 EDSDK 版本 2.11.3 。我希望这将帮助其他用户解决类似的任务。

干杯 TL

0 投票
2 回答
4240 浏览

canon-sdk - edsDownload 处的佳能 sdk 内部错误

我在 EdsDownload 中有内部错误。我正在使用没有 SD 卡的 EOS 1100D。佳能示例代码(CameraContorol)可以下载图像。使用的 SDK:2.13 和 2.12(我有同样的问题)。请帮我。
注意:运行后“picture000x.jpg”大小为 0(因为 EdsCreateFileStream 调用)。

我的代码输出
设备名称:Canon EOS 1100D。
获取图片:
“调用”handleObjectEvent。
事件:kEdsStateEvent_JobStatusChanged,
事件代码:770

                          EdsDownload 内部错误。
流!= NULL
下载已结束。
按 键退出。

我的代码

处理状态事件:

处理对象事件:

主功能:

下载图片功能:

0 投票
1 回答
3940 浏览

c# - 用于图像处理的佳能 SDK 示例

我想在ac#或VB.NET程序中使用canon EDSDK来查看cr2文件。

我找到了有关如何控制相机的示例代码 - 例如:

https://github.com/esskar/Canon.Eos.Framework

但没有关于打开文件、提取图像数据并显示它 - 或将拇指或全尺寸图像保存为 jpg...

有人可以指导我一些这样的例子吗?谢谢你。

注意 - 我有 EDSDK 2.12,我希望旧版本也能有所帮助。

编辑:感谢您的建议,它指向一个可能有帮助的 C 库......虽然我不知道如何,但不知道如何在 dot net 中使用它。

0 投票
2 回答
1010 浏览

windows-runtime - 打开佳能相机会话时出现错误 EDS_ERR_DEVICE_NOT_FOUND (EdsOpenSession(cRef))

我正在开发一个可以控制佳能相机的 Windows 8 Metro 应用程序。我的应用程序检测到相机并获取设备信息。但是当我打开相机会话“err = EdsOpenSession(cRef)”时,我收到错误“EDS_ERR_DEVICE_NOT_FOUND”。

但是当我调用以下函数时,我检测到了相机 -

这是我完整的初始化代码 -

我在 WPF 应用程序上尝试了相同的代码并且它有效。这只发生在 Windows 商店应用程序/Metro 应用程序中。我的相机型号是佳能 EOS REBEL T1i。我使用的 SDK 版本是 2.11。

0 投票
2 回答
1829 浏览

c++ - 如何设置/获取使用佳能 EDSDK 2.12 拍摄的照片的属性?

我是 C++ 编程的初学者,我开始使用 Canon EDSDK 2.12 来远程控制 EOS 600D DSLR。我使用此处的代码来更好地了解如何访问相机并拍摄单张照片,它工作正常但现在我不确定如何继续我的程序,因为我无法弄清楚 SDK 的可能性编程参考。

是否可以使用自定义名称拍摄保存在相机 SD 上的照片?

如果不

如何创建事件处理程序?每次拍摄照片并使用它执行一些其他任务时,我都想获得一个由 SD 上的图像路径(文件夹和图像名称作为唯一 ID)组成的字符串。

我希望这有助于理解我想要做什么。

0 投票
2 回答
1749 浏览

c++ - C++ 从 EDSDK 控制佳能相机

嗨,我正在尝试通过 c++ 中的 USB 测试控制佳能相机(最终我想在 labview 上使用它)。我正在尝试在使用任何其他功能之前初始化相机,首先我有佳能 SDK 提供的 lib 和 dll 文件,但我认为我没有正确包含它们,因为我得到一个未解决的外部错误

我对 c++ 非常陌生,所以我对我在做什么没有最好的想法,有人对我如何让这个初始化工作有任何建议吗?另外关于如何正确包含 lib 和 dll 文件?下面是我写的代码。

0 投票
1 回答
3469 浏览

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

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

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

请帮忙

0 投票
3 回答
1579 浏览

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

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

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

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

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

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

谢谢你的帮助!

最好的问候,理查德