OpenCV: чтение изображения из std :: in? - PullRequest
2 голосов
/ 28 марта 2011

Есть ли какой-то способ использования функции imread OpenCV для чтения из std::in?

Mat imread( const string& filename, int flags=1 );

Функция принимает только имя файла, но есть ли какое-то "магическое" значение для стандартного ввода?

Ответы [ 3 ]

2 голосов
/ 28 марта 2011

OpenCV предоставляет функции imdecode, которые работают с буферами вместо имени файла. Сначала вам нужно прочитать stdin в буфер.

http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html

1 голос
/ 28 марта 2011

Если вы хотите очень быстрый взлом, вот что работает в Linux:

#include <unistd.h>

/* snip */ 

std::stringstream ss;
ss << "/proc/" << getpid() << "/fd/0";

cv::Mat m = cv::imread(ss.str());
0 голосов
/ 28 марта 2011

Нет,

Но если вы действительно этого хотите, вы можете направить stdin в именованный канал (mkfifo) и прочитать из него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...