Verto 0 Жалоба Опубликовано September 8, 2015 Добрый день. Подскажите, пожалуйста. Пиши приложение на OpenCvSharp и WPF. На данный момент появилась такая проблема по работе с видео с Web-камеры. Для отображения видео, OpenCv требует создание нового окна для отображения видео. Можно ли данное окно не создавать, а вывести на форму WPF или же данное окно поместить в какой-либо контрол на форме. Подскажите, уже не знаю что можно сделать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано September 8, 2015 (изменено) Можно, создаете picturebox на формепереводите изображение из iplImage в bitmapvar bitmap=image.ToBitmap();и загоняете его в pictureboxpicturebox.image=bitmap; при обновлении кадра не забывайте уничтожать старый image и bitmap. Ну и разуется все это делается в потоке создавшем форму.Учтете что вывод картинки большого разрешения нагрузка на процессор сильно возрастает и лучше использовать уже directx. Изменено September 8, 2015 пользователем iskees Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Verto 0 Жалоба Опубликовано September 8, 2015 Дело в том, что в 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(""); то ничего не отображается на форме Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано September 9, 2015 Не имел дело с WPF, не знаю можно там реализовать. OpenCV создает свое окно, не знаю нельзя ли его при создании сделать дочерним к чему-нибудь типа Static Controla. Кстати в элементе типа статик можно рисовать что называется вручную, picture box не обязательно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах