Перейти к содержимому
Compvision.ru

ibn_maksimys

Пользователи
  • Количество публикаций

    12
  • Зарегистрирован

  • Посещение

  • Days Won

    2

Все публикации пользователя ibn_maksimys

  1. Добрый день! Появилась задача разделения потокового вещания, получаемого с ТВ(euronews, Россия24 и т.д.), на информационные сюжеты. Беглый поиск в Интернете не позволил найти идей решения подобной задачи. Первое что приходит мне на ум, это использование шаблона вещания: отыгрыши между сюжетами, логотип канала, наличие бегущей строки. Но данный подход требует настройки под каждый канала и в случае внесения изменений в оформления канала будут неприятные сюрпризы. Кто-нибудь встречал идеи решения подобной задача в нашей/зарубежной периодике, есть ли у вас какие-нибудь продуктивные идеи на этот счет?
  2. Обнаружение прямых линий в кадре

    Спасибо, за Задачу по группировке отрезков. Попробую применить для решения моей задачи.
  3. Работа с камерами

    Вопрос решен. После длительного "ковыряния" с OpenCV пришел к выводу, что для получения композитного сигнала с TV Tuner'a нужно опускаться до уровня DirectShow. Это новый уровень дзен для меня В этом направлении сейчас и разбираюсь.
  4. Работа с камерами

    Нашел вот такую вот программу: http://www.ronyasoft.nm.ru/virtguard/index.html Красота, да и только. Как бы их исходники раздобыть, чтобы посмотреть, как у них работа тюнером организована.
  5. Работа с камерами

    Сейчас набросал тестовую программку, чтобы посмотреть содержимое CvCapture *capture. #include "stdafx.h" #include "conio.h" #include "opencv/highgui.h" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { CvCapture* capture = 0; capture = cvCreateCameraCapture(0); if(!capture){ return -1; } IplImage *bgr_frame=cvQueryFrame(capture); cout << bgr_frame->depth; cout << bgr_frame->width; getch(); return 0; } Web-камеры не подключены. Из устройств видео-захвата только tv-tuner. Поставил BreakPoint. Содержимое capture посмотреть нельзя. Поэтому смотрю, что содержится а IplImage *bgr_frame: nSize = 112 nChannels = 3 depth = 8 colorModel = "RGB" channelSeq = "BGR" align = 4 heigh = 4 (Вот тут я не пойму, почему высота 4, а не 480 например, как при подключении web-камеры) width = 0 widthStep = 0 Таким образом, получается, что программа подхватывает видео-поток, но в нем содержится не то, что мне нужно. Не оцифрованное видео с композитного входа. Как бы изменить настройки тюнера, чтобы он выдавал то, что я от него жду.
  6. Ошибка "Error: SampleCB() - buffer sizes do not match"

    Нашли причину этой ошибки?
  7. Работа с камерами

    Добрый день! Написал программу, которая захватывает кадры с web-камеры и выводит их на pictureBox. До этого работал с Matlab и там, видео с композитного входа тв-тюнера отражалось также как и видео с камеры. Но в OpenCV так не срабатывает. Например вот эта программа: #include "stdafx.h" #include "opencv/highgui.h" CvCapture* capture; int _tmain(int argc, _TCHAR* argv[]) { cvNamedWindow( "Example", CV_WINDOW_AUTOSIZE ); capture = cvCaptureFromCAM(0); if( capture != NULL ){ IplImage* frame; while(1) { frame = cvQueryFrame( capture ); if( !frame ) break; cvShowImage( "Example", frame ); char c = cvWaitKey(33); if( c == 27 ) break; } cvReleaseCapture( &capture ); cvDestroyWindow( "Example" ); }; return 0; } создает окно Example, т.е. по сути имеет доступ у видео-потоку, но не выводит этот пресловутый поток в окно Example. Кто-нибудь сталкивался с получением видео-данных с web-камеры?
  8. Корректная остановка записи

    Добрый вечер, Товарищи! Кто-нибудь работал с VideoWriter()? Если "Да", то подскажите пожалуйста, как корректно остановить запись в видео-файл, чтобы видео было финализировано?
  9. Корректная остановка записи

    Спасибо, так и правда технологичней. Поправил.
  10. Корректная остановка записи

    Разобрался. Для объекта типа: cv::VideoWriter *record; Для корректного завершения записи необходимо вызвать деструктор: record->~VideoWriter();
  11. cv::Mat => IplImage *

    Добрый день! При написании программы появилась необходимость сохранять кадр, полученный с камеры, на диск. При работе с камерой кадры сохраняются в переменной типа cv::Mat, сохранить же на диск хочу через cvSaveImage(). Но для этого необходимо преобразовать cv::Mat в IplImage *. Пробовал многие способы из описанных в Интернете - преобразовать не получается. Например вот так. cv::Mat frame; IplImage *img = cvCreateImage(cvSize(frame.cols, frame.rows),3,1); img->imageData = (char*)frame.data; Кто сталкивался с подобной задаче, подскажите пожалуйста!
  12. cv::Mat => IplImage *

    Есть уже написанный код, который работает со структурой IplImage, это раз, а во-вторых - в целях повышения образованности. Нашел как преобразовать. cv::Mat frame; IplImage img ((IplImage)frame); cvSaveImage(fileNameSave,&img);
×