我试图匹配一个图像VideoGrabber
和磁盘上的另一个图像。
我正在关注本教程。
问题是它使用了函数imread
,它接受一个字符串(文件的路径),与VideGrabber
类型不兼容。
如何将VideoGrabber
openframeworks 数据类型转换为 opencv mat 类型?
我试图匹配一个图像VideoGrabber
和磁盘上的另一个图像。
我正在关注本教程。
问题是它使用了函数imread
,它接受一个字符串(文件的路径),与VideGrabber
类型不兼容。
如何将VideoGrabber
openframeworks 数据类型转换为 opencv mat 类型?
这是你想要的吗?
ofVideoGrabber vidGrabber;
...
cv::Mat frame(vidGrabber.getHeight(), vidGrabber.getWidth(), CV_8UC3, vidGrabber.getPixels());
我不确定使用什么格式来打包像素,OpenCV 使用 BGR 交错通道,您可能需要交换像素。
好的,这似乎是关于openframworks的一个具体问题。您可以使用来自 Kyle 的精彩插件ofxCv,它专门用于在 openframeworks 中替代使用 opencv 库。
在 ofxCv 中,您可以找到诸如toCv
将 openframeworks 类型转换为 opencv 的方法,以及toOf
用于逆过程的方法。看看,它有很好的文档,有很多例子,而且设计得很好。
不完全确定您在使用 string 与array char[]
. 字符数组可以转换为字符串,如下所示:
char myarray[ ] = "my_file_name";
string str(myarray);