Я записываю видеоматериал и предварительно формирую различные методы обработки изображений на каждом кадре для получения желаемого результата.Запись и показ изображения OpenCV
Теперь, когда я получаю результат, я ищу, что хочу захватить и сохранить определенный кадр на моем hdd.
Для этого я использую функцию imwrite для записи кадра в виде jpg. то я использую imshow для отображения этого фрейма в namesWindow.
Проблема заключается в том, что, когда все условия встречаются, чтобы сохранить изображение моей программы вместо того, чтобы хранить изображения, дает мне ошибку времени выполнения .......
Вот код:
for(vector<double>::iterator iter_dis = Left_Point_distance.begin(); iter_dis != Left_Point_distance.end();++iter_dis)
{
if(*iter_dis > 20 && center.y >= 120 && center.x >=510 && Box[0].width > Box[0].height)
{
char* window_Punches = "Punches";
namedWindow(window_Punches ,1);
Mat Hook;
imwrite("C:\\Hook.jpg", Hook);
imshow(window_Punches, Hook);
}
if(*iter_dis >20 && center.y <=60)
{
}
}
Переход через OpenCV учебники Это как это, как его сделать, но в моем случае это не работает ......
Дальше больше весь процесс происходит в бесконечное время цикла, и видеокадров в сохраняются в матовой рамке; который затем отображается в окне с помощью функции imshow.
Может ли кто-нибудь определить, что я делаю неправильно здесь ....?
Хорошо, как я могу захватить текущий кадр из видеопоследовательности, сохранить его в Mat Hook, если условия встречаются и сохраняют/отображают этот кадр ...? – Tomazi
Что такое Коробка в коде, это кадр, полученный камерой? –
box - это ограничивающий прямоугольник, центр - это центр этого окна, а Left_Point_distance хранит расстояние между двумя точками ... видеопоследовательность, полученная camere, сохраняется на кадр в кадре Mat в верхней части бесконечного цикла while не показывать в этом бите кода – Tomazi