Я работал над приложением, которое генерирует и считывает (декодирует) QR-коды. В части декодирования пользователь фиксирует изображение QR-кода, и программа начнет процесс декодирования. Моя проблема: я не знаю, как я могу сфотографировать. P.S: Если вы предлагаете библиотеку, дайте ссылку, содержащую руководство по использованию этой библиотеки. Спасибо.Захват изображений с веб-камеры в C#
ответ
Я искал запись веб-камеры с давних времен, вы можете использовать Aforge.NET.
Вот код для того же с помощью WPF:
public partial class MainWindow : Window
{
private FilterInfoCollection VideoCaptureDevices;
private VideoCaptureDevice FinalVideo;
public VideoFileWriter writer= new VideoFileWriter();
public MainWindow()
{
InitializeComponent();
VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach (FilterInfo VideoCaptureDevice in VideoCaptureDevices)
{
comboBox1.Items.Add(VideoCaptureDevice.Name);
}
comboBox1.SelectedIndex = 0;
}
private void button1_Click(object sender, EventArgs e)
{
writer.Open(@"d:\\newVid.avi", 640, 480, 25, VideoCodec.MPEG4);
FinalVideo = new VideoCaptureDevice(VideoCaptureDevices[comboBox1.SelectedIndex].MonikerString);
FinalVideo.NewFrame += new NewFrameEventHandler(FinalVideo_NewFrame);
FinalVideo.Start();
}
void FinalVideo_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
System.Drawing.Image imgforms = (Bitmap)eventArgs.Frame.Clone();
Bitmap bmp = (Bitmap)eventArgs.Frame.Clone();
BitmapImage bi = new BitmapImage();
bi.BeginInit();
MemoryStream ms = new MemoryStream();
imgforms.Save(ms, ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
bi.StreamSource = ms;
bi.EndInit();
//Using the freeze function to avoid cross thread operations
bi.Freeze();
//Calling the UI thread using the Dispatcher to update the 'Image' WPF control
Dispatcher.BeginInvoke(new ThreadStart(delegate
{
pictureBox1.Source = bi; /*frameholder is the name of the 'Image' WPF control*/
}));
for (int i = 0; i < 2; i++)
{
writer.WriteVideoFrame(bmp);
}
}
private void Stop_Click(object sender, RoutedEventArgs e)
{
writer.Close();
FinalVideo.Stop();
this.Close();
}
}
включают ниже пространств имен:
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Video.FFMPEG;
using System.Drawing.Drawing2D;
using AForge.Video.VFW;
Вы можете установить частоту изменения кадров в соответствии с вашего удобства.
снимает или снимает видео? –
его захват видео, но, как вы можете видеть в коде, есть изображения, которые добавляются в качестве фрейма. вы можете выбрать любое изображение. –
VS не распознает «BitmapImage bi = new BitmapImage();» –
Я предлагаю вам посмотреть здесь
http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library
Вся информация, что вам нужно, это там.
- 1. Захват изображений веб-камеры, видео с C#
- 2. Захват изображений с камеры телефона?
- 3. Захват неподвижных изображений с камеры Sony в C#
- 4. Захват изображений видео в iOS
- 5. Захват изображений в фоновом режиме?
- 6. захват хранения изображений в sdcard
- 7. Захват изображений из воспроизведения видеофайла
- 8. Адаптер изображения + Захват изображений галереи
- 9. OpenCV4Android - захват изображений в прямоугольниках (обнаружение лиц)
- 10. Захват GetTickCount с C++
- 11. Захват неподвижных изображений с использованием AMCAP?
- 12. Java - Захват изображений с цифровой камеры
- 13. Захват изображений в реальном времени с сетевой камеры
- 14. Захват изображений из gstreamer Pipeline
- 15. Захват изображений в собственном разрешении с веб-камеры
- 16. Захват сигналов в C
- 17. Захват и отображение изображений в действиях
- 18. Захват звука в C#
- 19. Захват и сохранение нескольких изображений в android
- 20. Захват изображений каждые 5 секунд в камере
- 21. Захват изображений без предварительного просмотра в Android
- 22. Захват неподвижных изображений из avi на Windows
- 23. Программно сгенерировать растровое изображение и захват изображений
- 24. Захват видеопотока с использованием C/C++
- 25. Захват нескольких изображений с помощью CameraCaptureUI в VB
- 26. Захват и сохранение изображений с использованием камеры в xPages
- 27. Захват изображений с более высокой глубиной в OpenCV
- 28. Захват изображений с камеры в Python: простой, надежный, кросс-платформенный
- 29. Захват нескольких изображений в одном интерфейсе с использованием AVFoundation
- 30. Захват экрана в C# с использованием HtmlAgilityPack
Совет по библиотеке вне темы для SO, попробуйте выполнить поиск в Интернете для «захвата веб-камеры библиотеки C#». – CodeCaster
Я искал, но не смог найти учебники –
@ A.Hajeb По крайней мере, выберите некоторую библиотеку, попробуйте ее использовать, и если у вас возникнут какие-либо трудности, создайте конкретный вопрос о том, как использовать эту конкретную библиотеку. –