Damit die mühen nicht in irgendeiner Ecke meiner Festplatte versauern, habe ich es jetzt mal auf Github gepackt, vlt hilft es irgendwem:
https://github.com/cloidnerux/Kreiserkennung
Ein Teil der Bildverarbeitung basiert auf dem AForge.net Framework, daher habe ich auch meine Filter von deren Basisklasse abgeleitet:
Code: Alles auswählen
public class GradientFilter : BaseUsingCopyPartialFilter
{
//Necessary
private Dictionary<PixelFormat, PixelFormat> formatTranslations = new Dictionary<PixelFormat, PixelFormat>();
/// <summary>
/// Format translations dictionary, necessary.
/// </summary>
public override Dictionary<PixelFormat, PixelFormat> FormatTranslations
{
get { return formatTranslations; }
}
public GradientFilter()
{
// initialize format translation dictionary
formatTranslations[PixelFormat.Format8bppIndexed] = PixelFormat.Format8bppIndexed;
}
[...]
protected override unsafe void ProcessFilter(UnmanagedImage sourceData, UnmanagedImage destinationData, System.Drawing.Rectangle rect)
{