Загрузите код напрямую
Cv2.NamedWindow("video", WindowFlags.AutoSize);
Cv2.ResizeWindow("video", 640, 480);
//Получаем видеоустройство
FrameSource frame = Cv2.CreateFrameSource_Camera(0);
Mat mat = new Mat();
//Помещаем его кадр за кадром
while (true)
{
//Читаем видеокадр из Камеры
frame.NextFrame(mat);
//кадр видео отображается в окне
Cv2.ImShow("video", mat);
Cv2.WaitKey(1);
}
Здесь мы в основном используем этот метод для открытия камеры, а параметром является индекс камеры.
FrameSource frame = Cv2.CreateFrameSource_Camera(0);
Затем прочитайте каждый кадр камеры
frame.NextFrame(mat);
Затем мы отображаем каждый кадр
Cv2.ImShow("video", mat);
Камера успешно открыта
Метод показа Показать медиа-видео в основном такой же, как и показ камеры.
Cv2.NamedWindow("video", WindowFlags.AutoSize);
Cv2.ResizeWindow("video", 640, 480);
//Чтение видеокадров через медиафайлы
FrameSource frame = Cv2.CreateFrameSource_Video(@"C:\Users\Mr_chong\Music\MV\11.mp4");
Mat mat = new Mat();
//Помещаем его кадр за кадром
while (true)
{
//Читаем видеокадр из Камеры
frame.NextFrame(mat);
//кадр видео отображается в окне
Cv2.ImShow("video", mat);
Cv2.WaitKey(40);
}
Единственная разница в этом методе, параметром является путь к медиафайлу.
FrameSource frame = Cv2.CreateFrameSource_Video(@"C:\Users\Mr_chong\Music\MV\11.mp4");
Метод видеозаписи также относительно прост.,Просто используйте класс VideoWriter для записи.,Поместите каждый полученный кадр в,И установите путь и формат вывода
VideoWriter videoWriter = new VideoWriter(@"./out.avi", VideoWriter.FourCC(@"XVID"), 20, new Size(640, 480));
VideoWriter.FourCC Параметром является формат видеофайла, а XVID соответствует выходному видео формата avi. , MJPG соответствует выводу видео формата MP4, а остальное вы можете проверить. Первый параметр этого метода — путь вывода видео, второй параметр — формат, третий параметр — сохраняемая частота кадров и четвертый параметр — размер. Рекомендуется использовать размер камеры, иначе его может не быть. сохранено. Код приложен ниже. Предыдущий код представлял собой код стиля CV2. На этот раз он использует код стиля C#. Комментарии помечены, чтобы вы могли самостоятельно соответствовать коду стиля CV2.
Window window = new Window("video");
window.Resize(640, 480);
VideoCapture video = new VideoCapture(0);
VideoWriter videoWriter = new VideoWriter(@"./out.avi", VideoWriter.FourCC(@"XVID"), 20, new Size(640, 480));
Mat mat = new Mat();
while (video.IsOpened())
{
//Читаем видеокадр из Камеры
if (video.Read(mat))
{
videoWriter.Write(mat);
//кадр видео отображается в окне
window.ShowImage(mat);
var key = Cv2.WaitKey(1);
if (key == 27)
{
break;
}
}
else
{
break;
}
}
//Освобождаем ресурсы
video.Release();
mat.Release();
Cv2.DestroyAllWindows();