segmentation_steps {ExpImage}R Documentation

Image segmentation function (Funcao para a segmentacao de imagens).

Description

Esta funcao possibilita a segmentacao de imagens por meio de um limiar. Para isso, pode-se escolher um valor arbtrario ou considerar o valor estabelecido pelo metodo otsu.

Usage

segmentation_steps(img,indexes=c("b","b"),threshold=c("otsu",0.6),
selectHigher=c(TRUE,FALSE),fillHull=c(TRUE,FALSE),fillBack=c(TRUE,FALSE),
thresholdFinish="otsu", selectHigherFinish=TRUE, fillHullFinish=TRUE,
fillBackFinish=TRUE,plot=FALSE)

Arguments

img

:Este objeto deve ser obrigatoriamente imagem colorida do formato EBImage/ExpImage.

indexes

: Deve ser um vetor contendo os indices a serem utilizados em cada etapa de segmentacao. As opcoes de indices sao:
"r" = extrair a banda de vermelho
"g" = extrair a banda de verde
"b" = extrair a banda de azul
"rg" = considera a media da banda de vermelho e verde: (r+g)/2
"rb" = considera a media da banda de vermelho e azul: (r+b)/2
"gb" = considera a media da banda de verde e azul: (g+b)/2
"rgb" = considera a media das 3 bandas: (r+g+b)/3
"BI"=sqrt((r^2+g^2+b^2)/3)
"BIM"=sqrt((2r+2g+2b)/3)
"SCI"=(r-g)/(r+g)
"GLI"=(2g-r-b)/(2g+r+b)
"HI"=(2r-g-b)/(g-b)
"NGRDI"=(g-r)/(g+r)
"SI"=(r-b)/(r+b)
"VARI"=(g-r)/(g+r-b)
"HUE"=atan(2(b-g-r)/30.5(g-r))
"MGVRI"=(g^2-r^2)/(g^2+r^2)
"GLI"=(2g-r-b)/(2g+r+b)
"MPRI"=(g-r)/(g+r)
"RGVBI"=(g-(br))/(g^2(br))
"ExG"=(2*g-r-b)
"VEG"=(g/(g^0.66667*b^0.66667))

threshold

: E um vetor com valores numericos entre 0 e 1 a ser considerado como limiar. O usuario pode tambem usar o argumento "ostu", caso queira considerar o limiar estabelecido por essa metodologia.

selectHigher

:Este argumento deve se um vetor com as palavras TRUE ou FALSE. TRUE e quando se quer selecionar pixels de valores maiores que o limiar. FALSE quando se deseja selecionar valores menores.

fillHull

:Este argumento deve se um vetor com as palavras TRUE quando se pretende desconsiderar valores vazios dentro do foreground, caso contrario FALSE.

fillBack

:Este argumento deve se um vetor com as TRUE quando se pretende desconsiderar valores vazios dentro do background, caso contrario FALSE.

thresholdFinish

E um valor entre 0 e 1 a ser considerado como limiar na ultima segmentacao. O usuario pode tambem usar o argumento "ostu", caso queira considerar o limiar estabelecido por essa metodologia.

selectHigherFinish

argumento com as palavras TRUE ou FALSE. TRUE (default) e quando se quer selecionar pixels de valores maiores que o limiar na ultima segmentacao. FALSE quando se deseja selecionar valores menores.

fillHullFinish

:Este argumento deve ser TRUE quando se pretende desconsiderar valores vazios dentro do foreground na ultima segmentacao, caso contrario FALSE.

fillBackFinish

:Este argumento deve ser TRUE quando se pretende desconsiderar valores vazios dentro do background na ultima segmentacao, caso contrario FALSE.

plot

:Indica se sera apresentada (TRUE) ou nao (FALSE) (default) a imagem segmentada.

Value

Imagem segmentada

Author(s)

Alcinei Mistico Azevedo (Instituto de ciencias agrarias da UFMG)

See Also

segmentation_logit

Examples


############################################################################
#Obtendo o numero de ovos em uma folha
############################################################################

#Carregar imagem de exemplo
im=read_image(example_image(2),plot=TRUE)
## Fazendo a segmentacao na imagem
m=segmentation_steps(img=im,
indexes=c("b","b"),
threshold=c(0.39,0.7),
selectHigher=c(FALSE,TRUE),
fillHull=c(TRUE,TRUE),
fillBack=c(FALSE,FALSE),
thresholdFinish = 0.5,
selectHigherFinish = TRUE,
fillHullFinish = FALSE,
plot=TRUE)
measure_image(m,splitConnected = FALSE)
#Ver a mascara sobre os ovos na foto
im3=mask_pixels(im,m==1,plot=TRUE)


[Package ExpImage version 0.10.1 Index]