C# kant upptäckt (2 / 7 steg)
Steg 2: Tillämpa filter
Utdrag 1 - Pixel av pixel avsöka
Bitmapp newbitmap = ny Bitmap(pictureBoxPreview.Image);
BitmapData newbitmapData = ny BitmapData();
newbitmapData = newbitmap. LockBits (nya rektangel (0, 0, newbitmap. Bredd, newbitmap. Höjd), ImageLockMode.ReadOnly, PixelFormat.Format32bppPArgb);
byte [] pixelbuff = ny byte[newbitmapData.Stride * newbitmapData.Height];
byte [] resultbuff = ny byte[newbitmapData.Stride * newbitmapData.Height];
Marshal.Copy (newbitmapData.Scan0, pixelbuff, 0, pixelbuff. Längd).
newbitmap. UnlockBits(newbitmapData);
dubbel blå = 0,0;
dubbla gröna = 0,0;
dubbel röd = 0,0;
Utdrag 2 - förträngning färger till grön med en skala ange tröskelvärdet
Observera att vi endast håller gröna ur RGB
blueTotal = Math.Sqrt ((blueX * blueX) + (blåaktig * blueY));
blueTotal = 0;
greenTotal = Math.Sqrt ((greenX * greenX) + (greenY * greenY));
redTotal = Math.Sqrt ((redX * redX) + (redY * redY));
redTotal = 0;
om (blueTotal > 255)
{blueTotal = 255;}
annars om (blueTotal < 0)
{blueTotal = 0;}
om (greenTotal > 255)
{greenTotal = 255;}
annars om (greenTotal < 0)
{greenTotal = 0;}
försök
{
om (greenTotal < Convert.ToInt32(trackBarThreshold.Value))
{
greenTotal = 0;
}
annat
{
greenTotal = 255;
}
}
fånga (undantaget)
{
kasta;
}