Principais bibliotecas Python para processamento de imagens em 2021

Conteúdo

Introdução

Como indica IDC, as informações digitais vão disparar até 175 zetabytes, e a grande parte desta informação será refletida. Os cientistas de dados devem (pré) medir estas imágenes antes de convertirlas en modelos de inteligencia artificial y aprendizado profundo. Eles precisam fazer o trabalho importante (e às vezes sujo) antes que a parte boa comece.

Tratar uma grande quantidade de informações com eficiência e rapidez sem negociar os resultados, os cientistas de dados precisam usar instrumentos de preparação de imagens para inteligência artificial e tarefas de aprendizagem profunda.

Neste artigo, Eu vou mergulhar nas bibliotecas de processamento de imagem mais úteis em Python que são usadas vigorosamente em inteligência artificial e tarefas de aprendizagem profunda. Então vamos começar!

29090intro-3898994

Tabela de conteúdo

  1. OpenCV
  2. Imagem Scikit
  3. Scipy
  4. Biblioteca de imagens Python (Almofada / PIL)
  5. Matplotlib
  6. SimpleITK
  7. Numpy
  8. Mahotas

OpenCV

OpenCV é uma das bibliotecas de código aberto mais famosas e usadas para tarefas de visão computacional, como processamento de imagem, detecção de objeto, detecção de rosto, O desempenho é exibido como gráficos de dispersão e caixa de imágenes, reconhecimento de rosto, e muitos mais. Alem disso, também pode ser usado para tarefas de aprendizado de máquina. Isso foi desenvolvido pela Intel em 2002. Está escrito em C ++ mas os desenvolvedores forneceram ligações python e java. É fácil de ler e usar.

Para criar modelos de aprendizado de máquina e visão computacional, OpenCV tem mais de 2500+ algoritmos. Esses algoritmos são muito úteis para realizar várias tarefas, como reconhecimento facial., detecção de objetos e muito mais. Vamos ver alguns exemplos onde podemos executar usando OpenCV:

OpenCV

Tons de cinza

Grayscale é um método de conversão de uma imagem de 3 canais, por exemplo, RGB, HSV, etc., em uma imagem de um único canal, quer dizer, em tons de cinza. A imagem final varia entre preto e branco completo. A importância da escala de cinza inclui a redução de dimensões (converter 3 canais em uma imagem de um único canal), reduzir a complexidade do modelo, etc.

Abaixo do código, o fragmento mostra a escala de cinza em OpenCV

import cv2 as cv
img = cv.imread('exemplo.jpg')
cv.imshow('Original', img)
cv.waitKey()
#Use cvtColor, to convert to grayscale
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Escala de cinza', gray_img)
cv.waitKey(0)
16322cv-cinza-2796451

Imagem rotativa

OpenCV ajuda a girar a imagem em qualquer faixa de graus de 0 uma 360 graus.

Verifique o código a seguir para girar a imagem 180 graus.

import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('exemplo.jpg')
h, w = image.shape[:2]
rot_matrix = cv.getRotationMatrix2D((w/2.h/2), -180, 0.5)
rot_image = cv.warpAffine(img, rot_matrix, (C, h))
plt.imshow(cv.cvtColor(rot_image, cv.COLOR_BGR2RGB))
11371cv-rotativo-9643195

OpenCV fornece outras funcionalidades, além das que discutimos até agora. Alem disso, também ajuda na detecção facial, segmentação de imagem, extração de recursos, detecção de objeto, Reconstrução 3D e muito mais.

Para mais informacao, consulte a documentação oficial: Ligação

Imagem Scikit

Scikit-Image é outra grande biblioteca de processamento de imagens de código aberto. Útil em quase qualquer tarefa de visão de máquina.. É uma das bibliotecas mais simples e simples. Algumas partes desta biblioteca estão escritas em Cython (é um superconjunto da linguagem de programação Python projetado para tornar o Python mais rápido como a linguagem C). Fornece um grande número de algoritmos, incluindo segmentação, manipulação do espaço de cores, transformação geométrica, filtrado, morfologia, detecção de recursos e muito mais.

Scikit Image usa matrizes Numpy como objetos de imagem. Vamos ver como podemos realizar uma operação de contorno ativa na imagem scikit. O contorno ativo descreve os limites das formas em uma imagem.

98531scikit20image-7851463

Verifique o seguinte código para o recurso de contorno ativo:

import numpy as np
import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
image = data.astronaut()
# Data for circular boundary
s = np.linspace(0, 2*np.pi, 400)
x = 220 + 100*np.cos(s)
y = 100 + 100*np.sin(s)
init = np.array([x, e]).T
# formation of the active contour
centre = active_contour(Gaussian(imagem, 3),iniciar, alfa=0,015, beta=10, gama=0,001)
figura, eixo = plt.subtramas(1, 2, figsize =(7, 7))
Machado[0].imshow(imagem, cmap=plt.cm.cinza)
Machado[0].set_title("Imagem original")
Machado[1].imshow(imagem, cmap=plt.cm.cinza)
32781ativo20contour-9653695

Para mais informacao, consulte a documentação oficial: Ligação

Ciência

SciPy é usado principalmente para cálculos matemáticos e científicos, mas às vezes também pode ser usado para tarefas básicas de manipulação e processamento de imagens usando o submodulo scipy.ndimageNo final do dia, imagens são apenas matrizes multidimensionais, O SciPy fornece um conjunto de funções que são usadas para operar operações numpy ndimensionais. O SciPy fornece algumas operações básicas de processamento de imagens, como detecção facial, convolução, segmentação de imagem, leitura de imagens, extração de recursos, e muitos mais. junto com isso, também realiza filtragem, desenhar linhas de contorno em imagens.

18254scipy-3298010

Verifique o código a seguir para desfocar uma imagem com SciPy:

de scipy importação ndimage, misc
from matplotlib import pyplot as plt
f = misc.face()
b_face = ndimage.gaussian_filter(f, sigma=3)
figura, eixo = plt.subtramas(1, 2, figsize =(16, 8))
86884borrão-6513525

Para mais informacao, consulte a documentação oficial: Ligação

Biblioteca de imagens Python (PIL / Almofada)

É uma biblioteca Python de código aberto que é usada para tarefas de processamento de imagens. Fornece funcionalidades especiais que geralmente não são fornecidas por outras bibliotecas. como filtrar, abrir, manipular e salvar imagens. Esta biblioteca suporta uma ampla variedade de formatos de arquivo, o que o torna mais eficiente. PIL também suporta funções como processamento de imagem, visualizar imagens e arquivos de imagem. Vamos ver o aprimoramento de imagem usando PIL / Almofada.

65141pilo-3897077

Alterar a nitidez de uma imagem:

69573pil-1369670

Para mais informacao, consulte a documentação oficial: Ligação

Matplotlib

Matplotlib é usado principalmente para visualizações 2D, como gráficos de dispersão, gráficos de barras, histogramas e muitos mais, mas também podemos usá-lo para processamento de imagem. euÉ eficaz para obter informações de uma imagem.. Não suporta todos os formatos de arquivo.

14713matplotlib-logo-7107377

Verifique a imagem a seguir após a operação de mudança de cor de fundo:

81371matplolib-3870654

Para mais informacao, consulte a documentação oficial: Ligação

SimpleITK

Também é chamado Conjunto de ferramentas de segmentação e registro de conhecimento. É uma biblioteca de código aberto usada para registro e segmentação de imagens. Bibliotecas como o OpenCV consideram a imagem como um array, mas esta biblioteca considera as imagens como um conjunto de pontos em uma região no espaço. Verifique o seguinte exemplo:

15782itk-3985649

Segmentação de imagem

Para mais informacao, consulte a documentação oficial: Ligação

Numpy

É uma biblioteca Python de código aberto usada para análise numérica. Contém uma matriz e matrizes multidimensionais como estruturas de dados. Mas o NumPy também pode usar para tarefas de processamento de imagem, como corte de imagem, manipulação de pixel e mascaramento de valor de pixel.

49277numpy-3369553

Verifique a seguinte imagem para extrair os canais verdes / vermelho / imagem azul:

13186numpy-1-7199469

Para mais informacao, consulte a documentação oficial: Ligação

Mahotas

É outra biblioteca Python de código aberto para visão computacional e processamento de imagens.. Foi projetado para computação biométrica. Fornece muitos algoritmos que são escritos em C ++ para velocidade com uma boa interface python. Ler e escrever imagens em matrizes NumPy.

Verifique a imagem a seguir para correspondência de modelos usando Mahotas:

97835mahotas-7169042

Para mais informacao, consulte a documentação oficial: Ligação

conclusão

Então, neste artigo, nós cobrimos o 8 Principais bibliotecas de processamento de imagens Python para aprendizado de máquina em 2021. Espero que você aprenda algo com este blog e fique melhor para o seu projeto. Obrigado pela leitura e sua paciência. Boa sorte!

Você pode verificar meus artigos aqui: Artigos

Obrigado por ler este artigo sobre bibliotecas Python para processamento de imagens e por sua paciência.. Deixe-me na seção de comentários. Compartilhe este artigo, isso me motivará a escrever mais blogs para a comunidade de ciência de dados.

Identificação de e-mail: gakshay1210@ gmail.com

Me siga no LinkedIn: LinkedIn

A mídia mostrada neste artigo não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.