cvResize на відеокадрі

Коли ви намагаєтесь завантажити зображення та скопіювати його частину або плавно, все добре, але коли я захоплюю відео та намагаюсь скопіювати частину кадру, воно перетворюється на зворотний і повертається на 180 градусів, чи ні хтось знає, чому?

IplImage *scaled=cvCreateImage(sz,IPL_DEPTH_8U,3); 
capture = cvCaptureFromFile( "C:\\New York.avi" ); 
IplImage *frame = cvQueryFrame( capture ); 
cvResize(frame,scaled,CV_INTER_LINEAR); 
cvShowImage("123",scaled);
cvReleaseImage(&scaled);
1
це посилання не є однаковим, причина з Image все працює добре, але з відео немає
додано Автор fen1ksss, джерело
Якщо ви поділитесь своїм кодом, ми можемо вам допомогти. В іншому випадку я пропоную вам використовувати вікно пошук для запитань, подібних до вашої.
додано Автор karlphillip, джерело
Відредагуйте своє питання і вставте код там!
додано Автор karlphillip, джерело
Тут багато схожих питань. Наприклад: stackoverflow.com/q/4652874/176769
додано Автор karlphillip, джерело

1 Відповіді

Щоб виконати роботу змінити розмір , потрібно відповідати глибині та кількість каналів . Зараз ви берете ці цінності.

capture = cvCaptureFromFile("C:\\New York.avi"); 
IplImage* frame = cvQueryFrame(capture); 
IplImage* scaled = cvCreateImage(sz, frame->depth, frame->nChannels); 

cvResize(frame, scaled, CV_INTER_LINEAR); 
cvShowImage("123", scaled);

cvWaitKey(0);//wait for a key press, and then

cvReleaseImage(&scaled);

Я сподіваюся, що ви використовуєте нову версію OpenCV.

EDIT:

У коментарі нижче ви вказали, що використовуєте OpenCV b5a . Я просто знайшов повідомлення від 2006 року , який згадує цю версію , що означає, що ви використовуєте Jurassic випуск OpenCV, і це, ймовірно, є коренем проблеми.

Тут є сторінка, яка показує як використовувати OpenCV з C ++ Builder , але якщо у вас є Проблеми з цим я пропоную вам перейти до іншого компілятора.

Те, що ви спостерігаєте, швидше за все, є помилкою цієї давньої версії OpenCV.

2
додано
Ви знаєте, ця операція працює з зображенням ідеально, але з відео робить зворотне і обертання.
додано Автор fen1ksss, джерело
Я використовую OpenCV_b5a в Borland 2009
додано Автор fen1ksss, джерело
Які lib-файли мені слід включити до мого проекту в версії 2.3?
додано Автор fen1ksss, джерело
тому що це стає скупчення помилок, подібних до цього "[BCC32 Error] complex (65): E2344" "попереднє повідомлення" _Ctraits :: _ Cosh (double, double) "
додано Автор fen1ksss, джерело
ти правий, у VS 2008 з 2.3 все добре! але в Borland виникає помилка, коли я намагаюся використовувати 2.3. все одно, дякую!
додано Автор fen1ksss, джерело
Яку версію ви використовуєте? На якій платформі?
додано Автор karlphillip, джерело
Я не знаю, скільки років b5a. Може бути, це проблема? Як щодо версії 2.3?
додано Автор karlphillip, джерело
Я оновив відповідь. Подумайте про перехід до іншого компілятора, як-от: stackoverflow.com/questions/7011238/ …
додано Автор karlphillip, джерело
Чудово. Клацніть стрілку біля моєї відповіді, щоб вибрати її як офіційну відповідь на запитання.
додано Автор karlphillip, джерело
IT KPI C/С++ новым годом
IT KPI C/С++ новым годом
747 учасників

Чат обсуждения С/С++. - Вопросы "напишите за меня лабу" - это оффтоп. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/1147