opencv - 如何获取 MMALSharp 图像并将其转换为 OpenCV Mat 图像?
问题描述
我想通过 .net core 2.2 为 Raspberry pi3b (raspbian) 创建人脸检测应用程序。
我为此找到了一些库:
但是我没有在 MMALSharp 库中找到任何返回字节数组或类似内容的方法,这些方法可以包含图像数据。MMALSharp 中是否有任何方法可以在不将图像写入磁盘的情况下从相机模块获取原始图像到变量?
我已经有使用使用笔记本电脑网络摄像头的 Opencv (OpenCvSharp) 的工作代码(在我的 Windows 笔记本电脑上)。但我需要使用树莓派相机模块。
我发现只有那个方法Source
TakeRawPicture(ICaptureHandler handler)
但它不返回变量,所以我应该在 MMALSharp 库中定义我自己的函数并将其转换为 OpenCV 图像变量。
有没有更好的解决这个问题的办法?
解决方案
MMALSharp 有一个InMemoryCaptureHandler
基本上包装了List<byte>
. 创建一个实例InMemoryCaptureHandler
并将其传递给TakeRawPicture
方法。处理完成后,您可以访问实例的WorkingData
属性以访问图像数据。InMemoryCaptureHandler
推荐阅读
- html - 如何使用
HTML表格中的标签
- python - 如何通过python检查postgres中的新条目?
- python - 如何根据数据框中的分隔符将字符串拆分为两个字符串
- python - mainloop 问题 python /raspberry pi / 基于沼泽冷却器恒温器
- excel - Excel 停止打印包含公式的空单元格
- vue.js - 更新 Vuex 状态对象并将项目作为道具传递给子组件正在增加内存
- c# - 如何在单个 PUT 方法中更新具有相同 id 的多行?
- python-3.x - 你知道为什么我的网格没有像我预期的那样工作吗?
- html - 为什么我的 ul 菜单没有延伸到窗口的末尾并且没有居中?
- .net - RazorLight RazorLight.TemplateNotFoundException:项目找不到带有密钥的模板