Skip to content

Instantly share code, notes, and snippets.

@techyian
techyian / FastImageOutputCallbackHandler.cs
Created November 24, 2018 18:51
MMALSharp Callback handler describing FPS calculation.
/// <summary>
/// A callback handler specifically for rapid image capture from the camera's video port.
/// </summary>
public class FastImageOutputCallbackHandler : DefaultOutputCallbackHandler
{
private static DateTime _start;
private static int _fps;
/// <summary>
/// Creates a new instance of <see cref="FastImageOutputCallbackHandler"/>.
public async Task PicAndVid()
{
using (var imgCaptureHandler = new ImageStreamCaptureHandler("/home/pi/images/", "jpg"))
using (var vidCaptureHandler = new VideoStreamCaptureHandler("/home/pi/videos/", "avi"))
using (var splitter = new MMALSplitterComponent(null))
using (var imgEncoder = new MMALImageEncoder(imgCaptureHandler, continuousCapture: true))
using (var vidEncoder = new MMALVideoEncoder(vidCaptureHandler))
using (var nullSink = new MMALNullSinkComponent())
{
cam.ConfigureCameraSettings();
@techyian
techyian / AccordVideoCaptureHandler.cs
Created August 26, 2018 10:01
MMALSharp Accord framework HaarObjectDetector
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using Accord.Vision.Detection;
using MMALSharp.Handlers;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using Image = SixLabors.ImageSharp.Image;