- Recunoașterea facială
- Sisteme de recunoaștere a irisului
- Recunoașterea gestului
- Interacțiune umană -completă (HCI)
- Robotică mobilă
- Identificarea obiectului
- Segmentare și recunoaștere
- Stereopsis STEREO VISIUNE: percepția profunzime din 2 camere
- Realitate augmentată
- Pixeli cu o valoare de intensitate mai mică decât pragul.
- Pixeli cu o valoare de intensitate mai mare decât pragul.
Imaginea RGB de intrare este convertită pentru prima dată într -o imagine în scară de gri înainte de a se face prag.
Tipuri de praguri
Dintre cele două grupuri obținute mai devreme, grupul care are membri cu intensitate de pixeli mai mare decât pragul setat sunt atribuirea max_value sau în cazul unei valori de 255 (alb). Membrii grupului rămas au intensitățile lor de pixeli la 0 (negru).
Dacă valoarea intensității pixelilor la (x y) în imaginea sursă este mai mare decât pragul, valoarea din imaginea finală este setată la MaxVal.
Inv. Pragul binar este același cu pragul binar. Singura diferență esențială fiind în Pragul inv.binar Grupul care are intensități de pixeli mai mari decât pragul stabilit este atribuit „0”, în timp ce pixelii rămași având intensități mai mici decât pragul sunt setate pe MaxVal.
Dacă valoarea intensității pixelilor la (x y) în imaginea sursă este mai mare decât pragul, valoarea din imaginea finală este setată la 0 altceva este setat pe maxval.
Grupul care are intensități de pixeli mai mari decât pragul setat este trunchiat la pragul setat sau, cu alte cuvinte, valorile pixelilor sunt setate la fel ca pragul setat. Toate celelalte valori rămân aceleași.
Dacă valoarea intensității pixelilor la (x y) în imaginea sursă este mai mare decât pragul, valoarea din imaginea finală este setată la prag, altfel este neschimbată.
O tehnică de prag foarte simplă în care am stabilit intensitatea pixelilor la „0” pentru toți pixelii grupului cu o valoare a intensității pixelilor mai mică decât pragul.
Dacă valoarea intensității pixelilor la (x y) în imaginea sursă este mai mare decât pragul valorii la (x y) din imaginea finală nu se schimbă. Toți pixelii rămași sunt setați pe „0”.
Similar cu tehnica anterioară aici, am setat intensitatea pixelilor la „0” pentru toți pixelii grupului cu o valoare a intensității pixelilor mai mare decât pragul.
Dacă valoarea intensității pixelilor la (x y) în imaginea sursă este mai mare decât pragul valorii la (x y) din imaginea finală este setată pe „0”. Toată valoarea de pixeli rămasă este neschimbată. Pentru a compila programe OpenCV, trebuie să aveți biblioteca OpenCV instalată pe sistemul dvs. Voi posta un tutorial simplu pentru același lucru în zilele următoare. Dacă ați instalat deja OpenCV, executați codul de mai jos cu imaginea de intrare la alegere. 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); } }