gpt4 book ai didi

opencv - Openframeworks 上图像处理的类型差异

转载 作者:太空宇宙 更新时间:2023-11-03 22:53:15 25 4
gpt4 key购买 nike

Openframeworks、opencv、第三方分别提供了不同类型的图像(ofxCv、ofxOpenCv、ofImage、cv::Mat、IplImage ...等)。我想知道是否有关于这些差异的详细文档。

谢谢

最佳答案

ofImage是 OpenFrameworks 中的主要图像类型。一定要结帐ofPixels() (用于 ofImage 像素访问)和 ofTexture (用于在屏幕上呈现 ofImage)

ofOpenCv 是 OpenFrameworks 的第一个 OpenCV 插件,它随附。它有它的图像格式:ofxCvImage这是

made to provide interoperability between the core OF imaging types, ofImage and ofTexture, and OpenCv.

IplImage是 OpenCV 图像的格式/结构,但是是基于 C 的旧 API。在 OpenCV 2.x 和 3.x 中,支持使用更简单的格式 cv::Mat

问题是 xOpenCv 是很久以前开发的,当时 IplImage 更常用。如果您正在使用基于 OpenCV C api 的旧代码,并且希望将其集成到 OpenFrameworks 项目中,请使用 ofxOpenCv 和 ofxCvImage,因为它们提供了 OpenCV 的 IplImage 和 openFrameworks 的图像格式之间的桥梁。

如果您现在开始使用 OpenCV 和 OpenFrameworks,我建议您使用更新的 OpenCV API 和 cv::Mat ofxCv集成得很好。当我在 OpenFrameworks 中使用 OpenCV 时,我使用 ofxCv 并且我倾向于以 cv::Mat 格式完成大部分工作。只有在最后阶段,当我需要在 OpenFrameworks 中渲染 OpenCV 图像处理结果时,我才使用 ofxCv's utilties (请参阅实用程序、包装器和助手)在格式之间来回转换。我最常使用的是:

  • toCv() 从 OpenFrameworks 转换为 cv::Mat 格式
  • toOf() 很少从 cv::Mat 转换为 ofImage
  • drawMat() 经常渲染 cv::Mat 结果直接进入 openFrameworks

请务必阅读 ofxCv 示例。他们很有趣,可以从他们身上学到很多东西。玩得开心!

更新 ofBook's Varieties of oF Image Containers (Data Structures)部分还提供了有关 ofImageofCvImagecv::Mat 的详细信息。一定要检查一下!

ofImage

To the greatest extent possible, the designers of openFrameworks (and addons for image processing, like ofxOpenCV and Kyle McDonald's ofxCv) have provided simple operators to help make it easy to exchange data between these containers.

关于opencv - Openframeworks 上图像处理的类型差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35379256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com