Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 28.04.2015
Сообщений: 62

Раскадровка видео через массив

23.02.2017, 16:23. Показов 1342. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал простенькую программу - захват видео через OpenCV и его воспроизведение на pictureBox1.
Пытаюсь сделать раскадровку - создаю массив и каждый кадр в цикле завожу в него. Пробую извлечь конкретный кадр из массива в pictureBox2 - изображение не получаю.Какая-то информация в элементе массива есть - pictureBox2 меняет цвет - но конкретной картинки конкретного кадра нет.Если вместо заведения кадра в массив использую SAVE в файл - кадр записывается и отображается,а через массив не хочет.Может кто подскажет в чем проблема или ошибка.Привожу код:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
     #pragma endregion
        
        array<Image^>^img;
        
        Bitmap^myBitmap;
           bool Pause;
    
         int i;
     private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                
             img=gcnew array<Image^>(625);// определяю как i+1
            
                 
                 CvCapture* capture;
    
      cvNamedWindow("original",CV_WINDOW_AUTOSIZE);
     
        capture = cvCreateFileCapture( "C:\\Users\\валера\\Downloads\\dance.mpg");
     
     
     while(true){
               
          if(Pause!=true)
          {
           // получаем следующий кадр
             
              frame = cvQueryFrame( capture ); 
                if( !frame ) {
                  
                    break;
              
                }
                 myBitmap = gcnew System::Drawing::Bitmap(frame->width,frame->height,frame->widthStep,                    System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr)frame->imageData);  
                   pictureBox1->Image = myBitmap;
             img[i]= pictureBox1->Image;
           
             
             label2->Text = i.ToString(); // показываю количество кадров  
        //if(i==3)
        //{
           // pictureBox1->Image->Save( "C:\\MyPics\\image11.bmp" );
        //}
            i++;
        
          
          }
                
                
                char c = cvWaitKey(40);
                if (c == 27) { // если нажата ESC - выходим
                        break;
                }
        }
      
     cvReleaseCapture( &capture );
       
       
       cvDestroyWindow("original");
             }
 
 
     private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
             Pause=!Pause;
         }
     private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
            
             pictureBox2->Image=img[3];// выбираю произвольный индекс из массива,который хочу отобразить
            
             
             //pictureBox2->Image=Image::FromFile("C:\\MyPics\\image11.bmp");
         }
 
};
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2017, 16:23
Ответы с готовыми решениями:

Работа с видео на youtube, нужен массив [ссылка на видео, название видео]
Собственно с одной стороны есть экселевский документ с номерами, с другой стороны канал на ютубе. Задача прочитать все названия видео на...

Потоковое видео через роутер, не могу смотреть потоковое видео на телефоне через Wi-Fi
Доброго времени суток, форумчане. У меня возникла следующая проблема: не могу смотреть потоковое видео на телефоне через вай-фай. В...

Притормаживание 3D приложений: раскадровка, медленно и по кадрам.
Такая проблема. В 3D приложениях при работе наблюдается следующее: сначала работает всё гладко, а временами подтормаживает изображение:...

1
1 / 1 / 0
Регистрация: 28.04.2015
Сообщений: 62
24.02.2017, 19:36  [ТС]
Все,вопрос закрыт,разобрался. Ведь в массиве хранится не сам image,а лишь ссылка на него. Но создаваясь в цикле image нигде не сохраняется ! Т.е. я пытаюсь ссылаться на НЕСУЩЕСТВУЮШИЙ объект.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2017, 19:36
Помогаю со студенческими работами здесь

Вывод видео в разделе каталога через код видео youtub
Здравствуйте! Существует каталога, в нем разделы, в разделах элементы. В описании раздела есть текстслева и картинки в правой колонке....

Замедление видео при воспроизведении видео через HDMI
Суть. уже больше года телевизор подключен к компу в качестве доп. моника для просмотра фильмов, все было отлично, но недавно я попробовал...

Конкурс "Раскадровка"
Конкурс &quot;Раскадровка&quot; Внимание, любители кино! Мы начинаем конкурс «Раскадровка»! 1. Участие в конкурсе: могут принимать (а...

Видео через СМС
Всем привет,скажите,как сделать на сайте платный доступ к видео? Хостинг есть. и что случилось с форумом?теперь чтобы прочесть тему...

Видео в Html через swf
Здравствуйте, подскажите, пожалуйста, как мне запускать видео на лок сайте через какой-то swf проигрыватель, (желательно конкретный пример)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru