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

OpenCv. Отображение видео

Recommended Posts

Добрый день. Подскажите, пожалуйста. Пиши приложение на OpenCvSharp и WPF. На данный момент появилась такая проблема по работе с видео с Web-камеры. Для отображения видео, OpenCv требует создание нового окна для отображения видео. Можно ли данное окно не создавать, а вывести на форму WPF или же данное окно поместить в какой-либо контрол на форме. Подскажите, уже не знаю что можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно, создаете picturebox на форме

переводите изображение из iplImage  в bitmap

var bitmap=image.ToBitmap();

и загоняете его в picturebox

picturebox.image=bitmap;

 

при обновлении кадра не забывайте уничтожать старый image и bitmap. Ну и разуется все это делается в потоке создавшем форму.

Учтете что вывод картинки большого разрешения нагрузка на процессор сильно возрастает и лучше использовать уже directx.  

Изменено пользователем iskees

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дело в том, что в wpf нет pictureBox. Данный подход работает на WinForms, а в wpf не хочет. Есть такой вот код 

using (var capture = CvCapture.FromCamera(0))
{
  var w = new CvWindow("");
  while(CvWindow.WaitKey(10) < 0)
    {
      var image = capture.QueryFrame();
      if (image != null)
       {
         using (image)
         {
           var stream = new MemoryStream();
           image.ToStream(stream, ".bmp");
           var bitmap = new BitmapImage();
           bitmap.BeginInit();
           bitmap.StreamSource = stream;
           bitmap.EndInit();
           Before = bitmap;
          }
        }
     }
}

если не вызывать окно 

var w = new CvWindow("");

то ничего не отображается на форме

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не имел дело с WPF, не знаю можно там реализовать. OpenCV создает свое окно, не знаю нельзя ли его при создании сделать дочерним к чему-нибудь типа Static Controla. Кстати в элементе типа статик можно рисовать что называется вручную, picture box не обязательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×