-1

我试图匹配一个图像VideoGrabber和磁盘上的另一个图像。

我正在关注本教程

问题是它使用了函数imread,它接受一个字符串(文件的路径),与VideGrabber类型不兼容。

如何将VideoGrabberopenframeworks 数据类型转换为 opencv mat 类型?

4

3 回答 3

1

这是你想要的吗?

ofVideoGrabber vidGrabber;
...
cv::Mat frame(vidGrabber.getHeight(), vidGrabber.getWidth(), CV_8UC3, vidGrabber.getPixels());

我不确定使用什么格式来打包像素,OpenCV 使用 BGR 交错通道,您可能需要交换像素。

于 2013-06-03T07:13:13.343 回答
1

好的,这似乎是关于openframworks的一个具体问题。您可以使用来自 Kyle 的精彩插件ofxCv,它专门用于在 openframeworks 中替代使用 opencv 库。

在 ofxCv 中,您可以找到诸如toCv将 openframeworks 类型转换为 opencv 的方法,以及toOf用于逆过程的方法。看看,它有很好的文档,有很多例子,而且设计得很好。

于 2013-06-03T09:08:01.413 回答
0

不完全确定您在使用 string 与array char[]. 字符数组可以转换为字符串,如下所示:

char myarray[ ] = "my_file_name";
string str(myarray);
于 2013-05-31T21:21:35.117 回答