Три месяца назад ко мне обратился хороший товарищ и коллега по работе с просьбой написать небольшую программу для проведения психологического тестирования. Я, до этого писавший исключительно для мелких нужд офисной автоматизации на vba, vb, vb.net, решил воспользоваться моментом и за время проекта подучить C#. К слову, проект простой, всего 5 психодиагностических методик. Позже оказалось, что мечта его — система распознавания бланков этих методик. Ситуация усложнилась. Стало понятно, что основное количество времени я потрачу на распознавание.
Читать полностью »
Рубрика «aforge.net»
Распознавание бланков психологического тестирования с нуля
2013-06-03 в 15:41, admin, рубрики: aforge.net, Алгоритмы, обработка изображений, распознавание, сканер, метки: aforge.net, распознавание, сканерЗахват видео с камеры и передача его по сети
2013-04-24 в 7:37, admin, рубрики: .net, aforge.net, MJPEG, метки: .net, aforge.net, c++, MJPEGПредисловие
Не так давно, возникла необходимость захвата видео с web камеры и передавать его по сети используя .Net.
Так как с подобной задачей я столкнулся впервые, то первым делом начал искать информацию по этому вопросу.
Как выяснилось, что в чистом .Net нет поддержки работы с web камерами. Перебрав несколько различных библиотек, свой выбор остановил на Aforge.net.
Aforge.net — это фреймворк для решения целого ряда задач, из которого нам понадобится библиотеки AForge.Video.
Захват изображения
Для захвата видео с устройства видео ввода существует класс AForge.Video.DirectShow.VideoCaptureDevice
. Ему необходимо задать моникер устройства с которого будет происходить захват. Так же необходимо задать обработчик события NewFrame
. Это событие возникает каждый раз, когда с устройства будет получен новый кадр, который и передается в обработчик в виде объекта Bitmap
, где его уже можно обработать:
private void VideoSourceNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
var img = (Image) eventArgs.Frame;
using (var ms=new MemoryStream())
{
img.Save(ms,ImageFormat.Jpeg);
//Сохраняем изображение в массив байт, для последующего формирования mjpeg
_bufImage = ms.ToArray();
}
}