- Veido atpažinimas
- Rainelės atpažinimo sistemos
- Gestų atpažinimas
- Žmogaus ir kompiuterio sąveika (HCI)
- Mobilioji robotika
- Objekto identifikavimas
- Segmentacija ir pripažinimas
- Stereopsis Stereo regėjimas: gylio suvokimas iš 2 kamerų
- Papildyta realybė
- Pikseliai, kurių intensyvumo vertė yra mažesnė už slenkstį.
- Pikseliai, kurių intensyvumo vertė yra didesnė už slenkstį.
Įvesties RGB vaizdas pirmiausia paverčiamas pilkos spalvos vaizdu, prieš pradedant slenkstį.
Slenksčio tipai
Iš dviejų grupių, gautų anksčiau, grupė, kurių nariai, kurių taškų intensyvumas yra didesnis nei nustatyta, yra priskyrimas Max_Value arba pilkos spalvos, kai vertė yra 255 (balta). Likusios grupės nariai savo pikselių intensyvumus nustato kaip 0 (juoda).
Jei pikselio intensyvumo vertė, esanti (x y) šaltinio vaizde, yra didesnė už slenkstį, galutinio vaizdo vertė nustatyta kaip „MaxVal“.
Inv. Dvejetainė slenkstis yra tas pats, kas dvejetainė slenkstis. Vienintelis esminis skirtumas yra „Inv.binary“ slenksčio nustatymas grupei, turintiems didesnį taškų intensyvumą, nei nustatytas slenkstis, priskiriamas „0“, tuo tarpu likę taškai, kurių intensyvumas mažesnis nei slenkstis, yra nustatyta kaip „MaxVal“.
Jei pikselio intensyvumo vertė, esanti (x y) šaltinio vaizde, yra didesnė už slenkstį, galutinio vaizdo vertė nustatyta kaip 0, ji nustatyta kaip „MaxVal“.
Grupė, kurios taškų intensyvumas yra didesnis už nustatytą slenkstį, yra sutrumpinta pagal nustatytą slenkstį, arba, kitaip tariant, taškų vertės yra tokios pačios kaip ir nustatyto slenksčio. Visos kitos vertės išlieka tos pačios.
Jei pikselio intensyvumo vertė, esanti (x y) šaltinio vaizde, yra didesnė už slenkstį, galutinio vaizdo vertė yra nustatyta kaip slenkstis, ji nesikeičia.
Labai paprasta slenksčio technika, kai mes nustatėme taškų intensyvumą iki „0“ visiems grupės taškams, kurių taškų intensyvumo vertė yra mažesnė už slenkstį.
Jei pikselio intensyvumo vertė, esanti (x y) šaltinio vaizde, yra didesnė už slenkstį, vertė, esanti (x y) galutiniame paveikslėlyje, nesikeičia. Visi likę taškai yra „0“.
Panašiai kaip ir ankstesnėje technikoje, mes nustatėme taškų intensyvumą iki „0“ visiems grupės taškams, kurių taškų intensyvumo vertė yra didesnė už slenkstį.
Jei pikselio intensyvumo vertė, esanti (x y) šaltinio vaizde, yra didesnė už slenkstį, vertė, esanti (x y) galutiniame paveikslėlyje, nustatyta kaip „0“. Visa likusi pikselio vertė nesikeičia. Norėdami sudaryti „OpenCv“ programas, turite įdiegti „OpenCv“ biblioteką savo sistemoje. Ateinančiomis dienomis paskelbsiu paprastą mokymo programą. Jei jau įdiegėte „OpenCv“, paleiskite žemiau pateiktą kodą su pasirinktu įvesties atvaizdu. 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); } }