有没有办法使用OpenCV的imread
函数从std::in
读取数据?
Mat imread( const string& filename, int flags=1 );
这个函数只接受文件名作为参数,但是有没有一些“神奇”的值可以代表标准输入?
#include <unistd.h>
/* snip */
std::stringstream ss;
ss << "/proc/" << getpid() << "/fd/0";
cv::Mat m = cv::imread(ss.str());
不可以,
但是如果你真的想要的话,你可以将stdin流到一个命名管道(mkfifo)中并从中读取。