Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/86: Рейтинг темы: голосов - 86, средняя оценка - 4.76
36 / 36 / 3
Регистрация: 17.07.2008
Сообщений: 581
1

Работа с видео потоками

17.11.2011, 18:02. Показов 17918. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Интересует работа с видеопотоками. Делать захват с камеры, выводить на экран, а потом если на фоне появляется какое та движение, то кружком (квадратам и т.д.) обхватить его (типа сделать маркер) и следить за ним. Если цель движется, то и маркер должен за сним следить. С какой библиотекой работать? В какую сторону идти?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2011, 18:02
Ответы с готовыми решениями:

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

Работа с потоками
Здравствуйте. Проблема заключается в следующем, в параллельном потоке мне нужно чтобы label1...

Работа с потоками
В буфере имеется N записей типа Type. К этим записям на чтение и на запись обращаются m потоков....

Работа с потоками
Всем привет, прошу подсказать есть программка рисующая спираль Архимеда так вот нужно распределить...

4
615 / 539 / 115
Регистрация: 24.03.2011
Сообщений: 576
17.11.2011, 18:09 2
Лучший ответ Сообщение было отмечено как решение

Решение

frech, AForge.NET
Computer Vision samples
3
36 / 36 / 3
Регистрация: 17.07.2008
Сообщений: 581
18.11.2011, 15:55  [ТС] 3
Цитата Сообщение от Redfex Посмотреть сообщение
спасибо большое, буду разбираться. А дальше мне хотелась бы, получит координаты и передать эти координаты на другую камеру с зумам. Которая будет двигатся вверх вниз, налево и направо. Цель такая, эту камеру направить именно на движещию цель и по мере движение его пусть и камера движется за ним. Но проблема в том что как передать этой камеры координаты цели, надо чтоб у них было одинаковое система координат и чтоб у них ноль начинался с одного места. Есть какие та идеи? Мне нужен сам алгоритм
Короче. Две камеры, одна неподвижна и у него большой угол видимости, у другой менщий угол, типа как точечный. Первая камера находит цель, передает другой, а он следит за ним

Добавлено через 18 часов 0 минут
есть ли у кого та стайка для работы с веб камерой? как подключит его к форме, чтоб в реальном времени работала. А потом с помощью AForge.NET сделать детектор движение

Добавлено через 3 часа 28 минут
вот что нашел, может кому та понадобится

 Комментарий модератора 
На форуме есть тэг для youtube
0
36 / 36 / 3
Регистрация: 17.07.2008
Сообщений: 581
29.11.2011, 18:53  [ТС] 4
кто работал с детекторам движение? Вот написал код, чтоб на форме показывать видео с веб камеры в реальном времени. А щас хочу выделить объект в прямоугольник. Нашел примеры и статейки, но не могу разобратся. С какими функциями и как работать? Кто работал, то помогите. Уже запутался. Может у кого есть статейка на русском языке. Мне проста надо выделить объект в красный прямоугольник. Спасибо

Добавлено через 2 часа 50 минут
вот разобрался с таким кодом, установил под свой пример. Но там на движение не реагирует. Вот сам код:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Vision.Motion;
 
namespace MotionDetection
{
    public partial class Form1 : Form
    {
    
        private VideoCaptureDevice localSource = null; 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void openLocalDeviceToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CaptureDeviceForm form = new CaptureDeviceForm();
            if (form.ShowDialog(this) == DialogResult.OK)
            {
                VideoCaptureDevice localSource = new VideoCaptureDevice();
                localSource.Source = form.Device;
 
                OpenVideoSurce(localSource);
 
            }
 
        }
 
        private void OpenVideoSurce(IVideoSource source)
        {
            this.Cursor = Cursors.WaitCursor;
 
            source.NewFrame += new NewFrameEventHandler(source_NewFrame);
 
            source.Start();
 
            this.Cursor = Cursors.Default;
        }
 
        void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap video = (Bitmap)eventArgs.Frame.Clone();
 
            AForge_Webcam_Average_Color.Util.AForgeUtil util = new AForge_Webcam_Average_Color.Util.AForgeUtil();
 
            //motion.MotionDetector4 MD = new motion.MotionDetector4();
 
            //MD.ProcessFrame(video);
 
            util.MotionDetection(video);
            pictureBox1.Image = video;
            
            
            throw new NotImplementedException();
        }
 
        
        
 
 
 
       
    }
}
а тут другой класс, где реализуется motiondetection
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AForge.Video.DirectShow;
 
using System.Drawing;
using AForge.Vision.Motion;
using AForge.Imaging.Filters;
using AForge.Imaging;
using System.Windows.Forms;
 
 
 
namespace AForge_Webcam_Average_Color.Util
{
    class AForgeUtil
    {
        private  VideoCaptureDevice videoCaptureDevice = null;
        
        IMotionDetector motionDetector = new TwoFramesDifferenceDetector();
        //IMotionDetector motionDetector = new SimpleBackgroundModelingDetector();
        BlobCountingObjectsProcessing motionProcessing = new BlobCountingObjectsProcessing();
       // MotionBorderHighlighting motionProcessing = new MotionBorderHighlighting();
        MotionDetector detector = null;
        const int MinObjectsSize = 20;
        public AForgeUtil()
        {
           motionProcessing.HighlightColor = System.Drawing.Color.Green;
            motionProcessing.MinObjectsHeight = MinObjectsSize;
            motionProcessing.MinObjectsWidth = MinObjectsSize;            
            detector = new MotionDetector(motionDetector, motionProcessing);
            
        }
        
 
        
        public void MotionDetection(Bitmap bitmap)
        {
            if (detector.ProcessFrame(bitmap) > 0.01)
            {
                MessageBox.Show(" da ");
                //if (motionProcessing.ObjectsCount > 0)
                //{
                   
               //}                
            }           
 
            
        }
    }
}
вот тут условие не выполняется.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 public void MotionDetection(Bitmap bitmap)
        {
            if (detector.ProcessFrame(bitmap) > 0.01)
            {
                MessageBox.Show(" da ");
                //if (motionProcessing.ObjectsCount > 0)
                //{
                   
               //}                
            }           
 
            
        }
и точку останова делал, но всегда фалс
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
04.03.2015, 14:45 5
а кадр видео захваченный с видеокамеры имеет формат jpg??
0
04.03.2015, 14:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2015, 14:45
Помогаю со студенческими работами здесь

Работа с потоками
Добрые люди дайте готовый кусочек кода по работе с потоками Требования такие Запустив энное...

Работа с потоками
У меня приложение через заданный интервал (в таймере) отправляет запрос на сайт и парсит ответ, при...

Работа с потоками
Будет ли парсер работать быстрее если изначально был 1 поток по сравнению с 10 потоками ? Ведь все...

Работа с потоками
Ребята, помогите. На C# программирую недавно, про потоки слышу впервые. Подскажите как это можно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru