plugin system docs

custom buttons for plugins
calibration functions for Leeform
This commit is contained in:
EugeneTes
2026-03-30 16:15:47 +02:00
parent a1838cafeb
commit 4bd117af47
76 changed files with 4521 additions and 59 deletions

View File

@@ -8,8 +8,12 @@ namespace Hawkeye.VisionBuilder.UI.Sources.Raspberry.Libcamera
{
public class LibcameraImageSource : IImageSource, IVisionBuilderModule
{
private CaptureSettings _settings;
public LibcameraImageSource(CaptureSettings settings)
{
_settings = settings;
}
public async Task<Mat> GetImage(CancellationToken token)
{
@@ -25,15 +29,6 @@ namespace Hawkeye.VisionBuilder.UI.Sources.Raspberry.Libcamera
byte[] JpegFooter = new byte[] { 0xff, 0xd9 };
int ChunkSize = 1024;
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "libcamera-vid",
Arguments = "--codec mjpeg -t0 --width 2028 --height 1520 --shutter 10000 --framerate 16 --awbgains 3.86,1.46 --nopreview -o -",
RedirectStandardOutput = true,
UseShellExecute = false
};
Channel<Mat> _imageChannel = Channel.CreateBounded<Mat>(new BoundedChannelOptions(1) { FullMode = BoundedChannelFullMode.DropOldest });
public void Start()
@@ -46,6 +41,14 @@ namespace Hawkeye.VisionBuilder.UI.Sources.Raspberry.Libcamera
private void StartLoop()
{
var psi = new ProcessStartInfo
{
FileName = "rpicam-vid",
Arguments = _settings.BuildArguments(),
RedirectStandardOutput = true,
UseShellExecute = false
};
using (Process process = Process.Start(psi))
using (BinaryReader br = new BinaryReader(process.StandardOutput.BaseStream))
{