У меня есть emgu cv 2.4.10, чтобы создать средство просмотра потока RTSP, которое в конечном итоге будет использоваться с IP-камерами. поскольку у меня пока нет камеры/я, я тестирую с помощью VLC (графический интерфейс Windows) для создания потока из видеофайла.размытый/поврежденный захват потоков RTSP
:sout=#duplicate{dst=rtp{sdp=rtsp://:8554/stream},dst=display} :sout-all :sout-keep
Я делаю все это на локальном хосте.
вот мой код захвата:
private void ProcessFrame(object sender, EventArgs arg) {
try {
frame = _capture.QueryFrame();
pictureBox1.Image = frame.ToBitmap();
}
catch (Exception ex) {
MessageBox.Show(ex.Message.ToString());
}
}
этот метод вызывается с помощью этого EventHandler:
_capture = new Capture("rtsp://localhost:8554/stream");
Application.Idle += ProcessFrame;
_capture.Start();
захват поврежден случайными вхождений «размазывания», что всегда происходит в нижней части рама:
я видел несколько других онлайн сообщили эту проблему, как совсем недавно, в декабре прошлого года, но решение не было найдено, или что будет работать для меня:
- http://workingwithcomputervision.blogspot.co.uk/2012/06/issues-with-opencv-and-rtsp.html
- EMGU QueryFrame returns "streaky" Image over RTSP
- http://www.emgu.com/forum/viewtopic.php?f=7&t=4882&p=10110&hilit=rtsp#p10069
, чтобы сузить проблему, я запустил ffplay из командной строки, и захват прекрасен. Я запустил еще один экземпляр VLC для захвата потока RTSP, и он отлично отображен. так что это явно проблема в open cv/emgu cv.
По прихоти, я изменил VLC на поток, используя HTTP.
:sout=#duplicate{dst=http{mux=ffmpeg{mux=flv},dst=:8080/stream},dst=display} :sout-all :sout-keep
это хорошо видно в моем коде, но при значительно меньшей частоте кадров, которая не будет работать для моего приложения. я бы очень признателен за любые советы по устранению этой проблемы. Благодарю.
благодарит за ответ. Я закончил обновление до недавнего выпуска Emgu.CV-3.0.0-rc1. к моему удивлению, это, казалось, решило все мои проблемы с размытием. Все идет нормально. – 4mla1fn