Importação de imagens
Diretório das imagens
# mudar de acordo com a pasta em seu computador
setwd("E:/Desktop/tiagoolivoto/static/tutorials/pliman_esalq/leaves")
Importar imagens
library(pliman)
img <- image_import("img_1.jpeg")
plot(img)
Para importar uma lista de imagens, o argumento pattern
da função image_import()
é usado. Todas as imagens que correspondem ao nome do padrão são importadas para uma lista.
img_list <-
image_import(pattern = "img_")
names(img_list)
## [1] "img_1.jpeg" "img_2.jpeg"
Exibindo imagens
Imagens individuais são exibidas com plot()
. Para combinar imagens, a função image_combine()
é usada. Os usuários podem informar uma lista de objetos separados por vírgulas ou uma lista de objetos da classe Image
.
# Imagens individuais
plot(img)
# Combine imagens
image_combine(img_list)
Manipulando imagens
pliman
fornece um conjunto de funções image_*()
para realizar a manipulação de imagens e transformação de imagens exclusivas ou uma lista de imagens baseada no
pacote EBImage.
Redimensionar uma imagem
Às vezes, o redimensionamento de imagens de alta resolução é necessário para reduzir o esforço computacional e tempo de processamento. A função image_resize()
é usada para redimensionar uma imagem. O argumento rel_size
pode ser usado para redimensionar a imagem por tamanho relativo. Por exemplo, definindo rel_size = 50
para uma imagem de largura 1280 x 720, a nova imagem terá um tamanho de 640 x 360.
image_dimension(img)
##
## ----------------------
## Image dimension
## ----------------------
## Width : 1600
## Height: 1062
img_resized <- image_resize(img, rel_size = 50)
image_dimension(img_resized)
##
## ----------------------
## Image dimension
## ----------------------
## Width : 800
## Height: 531
Cortar uma imagem
Cortar imagens é útil para remover ruídos da borda da imagem, bem como para reduzir o tamanho das imagens antes do processamento. Para recortar uma imagem, a função image_crop()
é usada. Os usuários precisam informar um vetor numérico indicando a faixa de pixels (width
e height
) que será mantida na imagem recortada.
crop1 <-
image_crop(img,
width = 38:1530,
height = 168:874,
plot = TRUE)
Se apenas width
ou height
forem informados, a imagem será recortada verticalmente ou horizontalmente.
crop2 <-
image_crop(img,
width = 38:1530,
plot = TRUE)
Se width
e height
não forem declarados, um processo iterativo de corte da imagem é executado.
# executa apenas em uma seção iterativa
image_crop(img)
Além disso, um processo de corte automatizado pode ser executado. Nesse caso, a imagem será cortada automaticamente na área de objetos com uma borda de cinco pixels por padrão.
auto_crop <- image_autocrop(img, plot = TRUE)
A função image_trim()
é usada para cortar pixels das bordas da imagem.
# apara 100 pixels de todas as bordas
img_trim <- image_trim(img, edge = 100, plot = TRUE)
# O mesmo é alcançado com
img_trim2 <-
image_trim(img,
top = 100,
bottom = 100,
left = 100,
right = 100,
plot = TRUE)
# apara 200 pixels da parte superior e inferior
img_trim3 <-
image_trim(img,
top = 200,
bottom = 200,
plot = TRUE)
Resolução da imagem(DPI)
A função dpi()
executa uma função interativa para calcular a resolução da imagem dada uma distância conhecida informada pelo usuário. Para calcular a resolução da imagem(dpi), o usuário deve usar o botão esquerdo do mouse para criar uma linha de distância conhecida. Isso pode ser feito, por exemplo, usando um modelo com distância conhecida na imagem(por exemplo, leaves.JPG
).
# executado apenas em uma seção interativa
rule <- image_import("rule.jpg", plot = TRUE)
dpi(rule)
Filtro, desfoque, contraste, dilatação e erosão
img_filter <- image_filter(img)
img_blur <- image_blur(img)
img_contrast <- image_contrast(img)
img_dilatation <- image_dilate(img)
img_erosion <- image_erode(img)
image_combine(img, img_filter, img_blur, img_contrast, img_dilatation, img_erosion)
Exportando imagens
Para exportar imagens para o diretório atual, use a função image_export()
. Se uma lista de imagens for exportada, as imagens serão salvas considerando o nome e a extensão presentes na lista. Se nenhuma extensão estiver presente, as imagens serão salvas como arquivos * .jpg
.
imagem_exportar(img, "img_exported.jpg")