The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Exemplo: Como editar imagens

Alcinei Mistico Azevedo (ICA-UFMG)

2024-05-07

Introdução

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:

https://www.youtube.com/channel/UCDGyvLCJnv9RtTY1YMBMVNQ

https://www.expstat.com/

Abrindo as imagens no R

Ativação dos pacotes

Após a instalação dos pacotes é necessário fazer sua ativação

 library(EBImage)
library(ExpImage)

Abrindo as imagens.

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.

# Obtendo o endereço da imagem de exemplo
end=example_image(1)
im=read_image(end,plot=TRUE)

Em algumas situações, torna-se necessário efetuar a edição das imagens, cortando-as e alterando brilho, contraste, etc.

##Diminuir a resolucao (tamanho da imagem)
im2=resize_image(im,w=1000,plot=FALSE)

##Cortar Imagem
im3=crop_image(im2,w =200:650,h=100:450,plot = FALSE)

##Aumentar brilho
im4=edit_image(im3,brightness = 0.1,plot = FALSE)

#Aumentar contraste
im5=edit_image(im4,contrast = 1.2,plot = FALSE)

#Aumentar gamma
im6=edit_image(im5,gamma  = 1.1,plot = FALSE)


#Alterando brilho, contraste e gamma
imb=edit_image(im3,brightness = 0.1,contrast = 1.7,gamma  = 1.2,plot = TRUE)

imb
#> Image 
#>   colorMode    : Color 
#>   storage.mode : double 
#>   dim          : 451 351 3 
#>   frames.total : 3 
#>   frames.render: 1 
#> 
#> imageData(object)[1:5,1:6,1]
#>           [,1]      [,2]      [,3]      [,4]      [,5]      [,6]
#> [1,] 0.2014256 0.2138706 0.2038370 0.2221603 0.2387216 0.2018971
#> [2,] 0.1933155 0.2282193 0.2145809 0.2212601 0.2268771 0.2077957
#> [3,] 0.1944197 0.2053880 0.2200133 0.2123912 0.2048145 0.2046473
#> [4,] 0.1955435 0.1964947 0.2135965 0.2075519 0.2012866 0.2016541
#> [5,] 0.1955435 0.1961775 0.2055566 0.1968622 0.1933271 0.2016541

Também é possível excluir o background da imagem. Para isso, deve-se primeiro fazer uma segmentação.

#Extração da banda
r=gray_scale(imb,method = "r",plot=TRUE)


#Segmentação
seg=segmentation(r,treshold =0.2,selectHigher = TRUE,fillHull = T,plot = TRUE )


#Remoção do background
imc=extract_pixels(imb,target = seg,valueTarget = 1,valueSelect = c(0,1,0),plot = TRUE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.