Obrigado por utilizar o pacote ExpImage
. Este pacote foi
desenvolvido a fim de facilitar o uso da analise de imagens na obtenção
de várias informações sobre os objetos que elas contém. Para a
utilização do pacote é indispensável a instalação do pacote
EBImage
. Geralmente, este pacote pode ser instalado ao
executar os seguintes comandos:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("EBImage")
Porém se houver problemas na instalação sugerimos que consulte mais opções de instalação no site: https://bioconductor.org/packages/release/bioc/html/EBImage.html
Para instalar o pacote ´ExpImage´ basta utilizar o seguinte comando:
install.packages("ExpImage")
Convidamos a todos os usuários do ExpImage que venha conhecer nossos materiais didáticos sobre este e outros pacotes nos seguintes links:
Após a instalação dos pacotes é necessário fazer sua ativação:
Para abrir as imagens pode-se inicialmente indicar a pasta de
trabalho onde a imagem se encontra com a função setwd
. E,
posteriormente, abrir a imagem com a função read_image
.
Neste caso, poderiam ser utilizados comandos como esses:
#Apagar memoria do R
remove(list=ls())
#Indicar a pasta de trabalho
setwd("D:/Backup Pendrive/")
im=read_image("Imagem.jpeg",plot=TRUE)
Neste exemplo utilizaremos uma imagem contida no banco de dados do pacote.
Para resolver este problema nós vamos fazer duas segmentações. A primeira para obter os pixeis referente apenas à parte aérea. A segunda segmentação será feita para obter os pixeis correspondente apenas à parte radicular.
Para isso, vamos primeiramente escolher a melhor banda para trabalharmos:
Como foi possível observar, a banda de azul possibilita um bom contraste da plântula do fundo. Logo, vamos escolher um valor de limiar pela tentativa e erro.
Outra opção de explorar outros possíveis índices é por meio do seguinte comando:
Quando se utiliza um limiar de 0.65 torna-se possivel separar apenas os pixels correspondentes às raízes.
A partir dessa imagem segmentada pode-se obter o comprimento da radícula a partir da contagem de pixels após o thinning:
radicula=thinning_image(Seg,plot = TRUE)
#> [1] "a"
#> Warning in class(x) <- "matrix": Setting class(x) to "matrix" sets attribute to
#> NULL; result will no longer be an S4 object
#> [1] "b"
Para a melhor visualização do eixo obtido pelo thinning podemos apresenta-lo sobre a imagem:
Vamos escolher um novo limiar para conseguir separar o que é parte aérea.
É possível observar muito ruído. Este problema pode ser amenizado utilizando a função erode do EBImage:
Agora é possível fazer o thinning considerando os pixels correspondentes à parte aérea:
PA=thinning_image(Seg2b,plot = TRUE)
#> [1] "a"
#> Warning in class(x) <- "matrix": Setting class(x) to "matrix" sets attribute to
#> NULL; result will no longer be an S4 object
#> [1] "b"
Para a melhor visualização podemos destacar em azul o eixo correspondente ao thinning:
A unidade de medidas dos comprimentos está em pixels, mas podem ser convertido para cm quando se tem um objeto de referencia na imagem ou se sabe a área da imagem escaneada.