- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
是否有人拥有使用佳能 EDSDK 实现 LiveView 的示例 C 代码的工作片段?在您了解这一点之前,文档中的示例代码看起来很棒:
//
// Display image
//
是的,就是这样。他们没有展示如何使用从相机检索的数据将图像 BLT 到窗口。他们只是说,“显示图片”。谢谢,佳能。
我已经在 Internet 上搜索过(包括这个论坛),但我还没有找到展示如何执行此操作的 C 代码示例。我希望避免使用 MFC、VB、托管代码或 C#。当然可以在 Vanilla C 中做到这一点,对吧? Vanilla C++ 也很好。
谢谢,弗雷德普
最佳答案
有两个功能他们没有告诉你:
1) EdsGetPointer
2) EdsGetLength
这将为您提供指向 JPEG 流开头和大小的指针。
一旦你使用 LibJPEG Turbo
解压缩,Libjpeg
就不够快了。
解压缩后,您可以使用opencv
显示图像。
bool CanonCamera::downloadLiveViewImage()
{
EdsError err = EDS_ERR_OK;
EdsEvfImageRef image = NULL;
EdsStreamRef stream = NULL;
unsigned char* data = NULL;
unsigned long size = 0;
err = EdsCreateMemoryStream(0, &stream);
if (err != EDS_ERR_OK) {
cout << "Download Live View Image Error in Function EdsCreateMemoryStream: " << err << "\n";
return false;
}
err = EdsCreateEvfImageRef(stream, &image);
if (err != EDS_ERR_OK) {
cout << "Download Live View Image Error in Function EdsCreateEvfImageRef: " << err << "\n";
return false;
}
err = EdsDownloadEvfImage(cameraRef, image);
if (err != EDS_ERR_OK) {
cout << "Download Live View Image Error in Function EdsDownloadEvfImage: " << err << "\n";
return false;
}
err = EdsGetPointer(stream, (EdsVoid**)& data);
if (err != EDS_ERR_OK) {
cout << "Download Live View Image Error in Function EdsGetPointer: " << err << "\n";
return false;
}
err = EdsGetLength(stream, &size);
if (err != EDS_ERR_OK) {
cout << "Download Live View Image Error in Function EdsGetLength: " << err << "\n";
return false;
}
// libjpegTurbo(data, size);
// display RGB image in opencv
if (stream != NULL) {
EdsRelease(stream);
stream = NULL;
}
if (image != NULL) {
EdsRelease(image);
image = NULL;
}
data = NULL;
return true;
}
关于c - 佳能 EDSDK Liveview 的示例 C 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217360/
您好,我使用不同的域名来加载不同的数据集。我目前正在使用自定义插件根据主机名加载正确的域 ID。例如。在路由器之前的 endpoint.ex 中得到了这个: plug WebApp.DomainChe
问题 LiveView 折叠我打开的元素。 细节 我有一个元素在页面加载时开始折叠: ... # content updated by liveview 如果用户点击可折叠,则可折叠有一个类 .i
我有一个 Phoenix LiveView,其表单不受数据层支持,如下所示: 我无法使用变更集来支持表单,因为我没有使用 Ecto。提交表单后,提交处理正常,但是表单textar
我正在尝试将 WYSIWYG-Editor tinymce 与包含 textarea 字段的 phoenix LiveView 集成。在使用 LiveView 之前,我将其作为 node_module
在常规 Controller / View 中,假设我有 AppWeb.ItemView 和 AppWeb.ItemController。假设我有两个不同的索引,:index 和 :index_fun
我有一个 StreamBase 应用程序,用于查询数据并将其放入 .lvconf 表中。有没有办法从这个 .lvconf 表中获取数据,并在我的 JavaScript 中使用它来处理数据? 最佳答案
我在 Phoenix LiveView 中有一个带有 phx-submit 绑定(bind)的表单。可以通过单击“发送”按钮或按文本字段中的回车键来提交表单。 我的问题是,如果我通过按回车键提交表单,
首先,让我发布一些我通过 Google 发现的类似 SO 问题的链接。第一个链接似乎确实有一个有效的答案,但它并没有直接解决我的问题。第二个链接确实直接解决了我的问题,但 gdh 的回复似乎对我没有帮
抱歉,这篇文章很长,我试图提供所有信息并解释我已经尝试过的内容。 问题: 我将经典的 Phoenix View 放入实时 View 中。虽然一切看起来都很好,但 echart 一完成绘制就消失了。好像
我知道我可以通过包含以下内容来更新实时取景: if connected?(socket), do: :timer.send_interval(10000, self(), :click) 但是,有没有
我正在尝试在触发 Javascript 事件后使用 Javascript 更新 Liveview。 Liveview 必须显示 带有一些从 Javascript 发送的值的元素。 我的问题是:我应该如
您好 Phoenix LiveView 向导! 👋 上下文 我们有一个基本的 LiveView 计数器应用程序:https://github.com/dwyl/phoenix-liveview-co
我想使用以下功能将事件从 liveView 服务器发送到客户端: def handle_event("test", _, socket) do {:noreply, push_event(
我玩得很开心 still-beta Phoenix LiveView图书馆。我感到困惑的一件事是如何确保我的 LiveView 在发生异常时以可预测和透明的方式运行。 在传统的基于 HTTP 请求的世
我想使用以下功能将事件从 liveView 服务器发送到客户端: def handle_event("test", _, socket) do {:noreply, push_event(
我正在尝试实时显示 LiveView 图像。我在 Windows 下使用 EDSDK 2.14 + Qt5 + opencv+mingw32。我在图像处理方面不是很熟练,所以现在我遇到了以下问题。我使
我目前正在开发一个小型 Playgrounds 项目(适用于 macOS),我正在尝试将我自己的 View Controller 设置为实时 View 。以下行不起作用。 PlaygroundPage
是否有人拥有使用佳能 EDSDK 实现 LiveView 的示例 C 代码的工作片段?在您了解这一点之前,文档中的示例代码看起来很棒: // // Display image // 是的,就是这样。他
我正在尝试使用 Liveview 支持运行我的 Alloy 项目。但它不起作用并给我以下错误。 Appcelerator Command-Line Interface, version 5.2.2 C
我尝试在来自 appcelerator studio 的 iPhone 设备上以实时查看模式运行我的应用程序并收到错误: [LiveView] File Server unavailable. Hos
我是一名优秀的程序员,十分优秀!