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