- Reconhecimento facial
- Sistemas de reconhecimento de íris
- Reconhecimento de gestos
- Interação humano-computador (HCI)
- Robótica móvel
- Identificação de objeto
- Segmentação e reconhecimento
- Visão estéreo Stereopsis: percepção de profundidade de 2 câmeras
- Realidade aumentada
- Pixels com valor de intensidade inferior ao limite.
- Pixels com valor de intensidade maior que o limite.
A imagem RGB de entrada é primeiro convertida em uma imagem em tons de cinza antes que o limiar seja feito.
Tipos de limites
Dos dois grupos obtidos anteriormente, o grupo que possui membros com intensidade de pixel maior que o limite definido é atribuído Max_Value ou, no caso de escala de cinza, um valor de 255 (branco). Os membros do grupo restante têm suas intensidades de pixel definidas como 0 (preto).
Se o valor da intensidade do pixel em (x y) na imagem de origem for maior que o limite, o valor na imagem final será definido como maxVal.
Inv. O limite binário é igual ao limite binário. A única diferença essencial é no limite Inv.Binary, o grupo com intensidades de pixel maiores que o limite definido é atribuído como '0', enquanto os pixels restantes com intensidades menores que o limite são definidos como maxVal.
Se o valor da intensidade do pixel em (x y) na imagem de origem for maior que o limite, o valor na imagem final será definido como 0, caso contrário, será definido como maxVal.
O grupo que tem intensidades de pixel superiores ao limite definido é truncado para o limite definido ou, por outras palavras, os valores de pixel são definidos para serem iguais ao limite definido. Todos os outros valores permanecem os mesmos.
Se o valor da intensidade do pixel em (x y) na imagem de origem for maior que o limite, o valor na imagem final será definido como limite, caso contrário, permanecerá inalterado.
Uma técnica de limite muito simples em que definimos a intensidade do pixel como '0' para todos os pixels do grupo com valor de intensidade de pixel menor que o limite.
Se o valor da intensidade do pixel em (x y) na imagem de origem for maior que o limite, o valor em (x y) na imagem final não muda. Todos os pixels restantes são definidos como ‘0’.
Semelhante à técnica anterior, aqui definimos a intensidade do pixel como '0' para todos os pixels do grupo com valor de intensidade de pixel maior que o limite.
Se o valor da intensidade do pixel em (x y) na imagem de origem for maior que o limite, o valor em (x y) na imagem final será definido como ‘0’. Todos os valores de pixel restantes permanecem inalterados. Para compilar programas OpenCV você precisa ter a biblioteca OpenCV instalada em seu sistema. Estarei postando um tutorial simples para o mesmo nos próximos dias. Se você já instalou o OpenCV execute o código abaixo com a imagem de entrada de sua escolha. 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); } }