- Gezichtsherkenning
- Irisherkenningssystemen
- Gebaarherkenning
- Mens-computerinteractie (HCI)
- Mobiele robotica
- Objectidentificatie
- Segmentatie en herkenning
- Stereopsis stereovisie: dieptewaarneming door 2 camera's
- Verhoogde realiteit
- Pixels met een intensiteitswaarde lager dan de drempelwaarde.
- Pixels met een intensiteitswaarde groter dan de drempelwaarde.
Het ingevoerde RGB-beeld wordt eerst geconverteerd naar een grijswaardenafbeelding voordat de drempelwaarde wordt toegepast.
Typen drempelwaarden
Van de twee eerder verkregen groepen heeft de groep leden met een pixelintensiteit groter dan de ingestelde drempel de toewijzing Max_Value of in het geval van een grijsschaal een waarde van 255 (wit). De pixelintensiteiten van de leden van de overige groep zijn ingesteld op 0 (zwart).
Als de pixelintensiteitswaarde bij (xy) in de bronafbeelding groter is dan de drempelwaarde, wordt de waarde in de uiteindelijke afbeelding ingesteld op maxVal.
Inv. Binaire drempel is hetzelfde als binaire drempel. Het enige essentiële verschil is dat bij de Inv.Binary-drempelwaarde de groep met pixelintensiteiten groter dan de ingestelde drempelwaarde '0' krijgt toegewezen, terwijl de overige pixels met intensiteiten lager dan de drempelwaarde worden ingesteld op maxVal.
Als de pixelintensiteitswaarde bij (xy) in de bronafbeelding groter is dan de drempelwaarde, wordt de waarde in de uiteindelijke afbeelding ingesteld op 0, anders wordt deze ingesteld op maxVal.
De groep met pixelintensiteiten groter dan de ingestelde drempel wordt afgekapt tot de ingestelde drempel, of met andere woorden, de pixelwaarden worden zo ingesteld dat ze hetzelfde zijn als de ingestelde drempel. Alle andere waarden blijven hetzelfde.
Als de pixelintensiteitswaarde bij (xy) in de bronafbeelding groter is dan de drempelwaarde, wordt de waarde in de uiteindelijke afbeelding ingesteld op de drempelwaarde, anders blijft deze ongewijzigd.
Een zeer eenvoudige drempeltechniek waarbij we de pixelintensiteit op '0' instellen voor alle pixels van de groep met een pixelintensiteitswaarde die lager is dan de drempelwaarde.
Als de pixelintensiteitswaarde bij (xy) in de bronafbeelding groter is dan de drempelwaarde, verandert de waarde bij (xy) in de uiteindelijke afbeelding niet. Alle overige pixels worden ingesteld op ‘0’.
Vergelijkbaar met de vorige techniek stellen we hier de pixelintensiteit in op ‘0’ voor alle pixels van de groep met een pixelintensiteitswaarde die groter is dan de drempelwaarde.
Als de pixelintensiteitswaarde bij (xy) in de bronafbeelding groter is dan de drempelwaarde, wordt de waarde bij (xy) in de uiteindelijke afbeelding ingesteld op '0'. Alle resterende pixelwaarden blijven ongewijzigd. Om OpenCV-programma's te kunnen compileren, moet de OpenCV-bibliotheek op uw systeem zijn geïnstalleerd. Ik zal de komende dagen een eenvoudige tutorial hiervoor posten. Als u OpenCV al hebt geïnstalleerd, voert u de onderstaande code uit met de invoerafbeelding van uw keuze. CPP // CPP program to demonstrate segmentation // thresholding. #include #include #include #include using namespace cv; int main(int argc char** argv) { if (argc != 2) { cout << ' Usage: ' ' ' << endl; return -1; } int threshold_value = 0; // Valid Values: 0 1 2 3 4 int threshold_type = 2; // maxVal useful for threshold_type 1 and 2 int maxVal = 255; // Source image Mat src = imread(argv[1] 1); cvNamedWindow('Original' CV_WINDOW_NORMAL); imshow('Original' src); Mat src_gray dst; // Convert the image to GrayScale cvtColor(src src_gray CV_BGR2GRAY); // Create a window to display results cvNamedWindow('Result' CV_WINDOW_NORMAL); createTrackbar('Threshold' 'Result' &threshold_value 255); while (1) { threshold(src_gray dst threshold_value maxVal threshold_type); imshow('Result' dst); waitKey(1); } }