Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2020, 02:17   #1
Eikonal
Новичок
Джуниор
 
Регистрация: 21.12.2020
Сообщений: 1
По умолчанию Вебкамера с Aforge и DLL для Labview

Добрый вечер,
програмирую на начинающем уровне. Возникли вопросы и решил к вам обратится.
У меня два вопроса.
1. Хочу сделать в Winforms программу для Вебкамеры. Есть вот такой код.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AForge.Video;
using AForge.Video.DirectShow;

namespace WebcamApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
         
        }
        FilterInfoCollection filterInfoCollection;
        VideoCaptureDevice VideoCaptureDevice;

        private void Form1_Load(object sender, EventArgs e)
        {
            filterInfoCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            foreach (FilterInfo filterInfo in filterInfoCollection)
            cboCamera.Items.Add(filterInfo.Name);
            cboCamera.SelectedIndex = 0;
            VideoCaptureDevice = new VideoCaptureDevice();
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
                VideoCaptureDevice = new 
                VideoCaptureDevice(filterInfoCollection[cboCamera.SelectedIndex].MonikerString);
                VideoCaptureDevice.NewFrame += VideoCaptureDevice_NewFrame;
                VideoCaptureDevice.Start();     
        }

        private void VideoCaptureDevice_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            pic.Image = (Bitmap)eventArgs.Frame.Clone();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (VideoCaptureDevice.IsRunning == true)
                VideoCaptureDevice.Stop();
        }
Всё работает сначало.
Через 20 Минут пропадает изображение. Пикчербокс белый и перечёрктнутый красными диагоналями.
Вебкамера не отключается. На камере продолжает гореть лампочка. Кто знает в чём тут дело? Что не так или чого не хватает?

2. Как создать из этого кода DLL для подключения её к Labview и использывать простым способом все функции как в Winforms.
В Labview я подключал из библиотеке AForge "AForge.Video; AForge.Video.DirectShow;" Но как то же не стабилно работает да и мудрёно как то...
В принципе в Labview я делал всё как в этом коде для Winforms нот не текстом а Блоками из .NET.
Програмировал каждую функцию.
Можно сделать DLL для Labview с тримя Функциями - 1. Выбрать камеру, 2. Включить, 3. Выключить?

За помощь буду благодарен!
Eikonal вне форума Ответить с цитированием
Старый 26.12.2020, 14:19   #2
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 138
По умолчанию

Цитата:
Сообщение от Eikonal Посмотреть сообщение
Код:
pic.Image = (Bitmap)eventArgs.Frame.Clone();
Возможно, не освобождается память. Попробуй написать так.
Код:
if (pic.Image != null) pic.Image.Dispose();
Может заработает.
ichi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вебкамера, заменить видео. lirik47 Фриланс 13 27.11.2017 08:02
Вебкамера в делфи Legeardo Общие вопросы Delphi 13 29.12.2016 14:02
Инструкция для сборки приложений на Qt в один exe без зависимостей от libstdc++-6.dll, libgcc_s_dw2-1.dll, Qt5Core.dll и т.д. 8Observer8 Qt и кроссплатформенное программирование С/С++ 12 25.06.2015 03:18
AForge.NET запись с WEB камеры видеофайла bondik C# (си шарп) 14 27.11.2013 12:40
AForge несколько камер. _SanR Общие вопросы .NET 0 08.05.2013 20:16