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 profundoAqui está o caminho de aprendizado para dominar o aprendizado profundo em, Uma subdisciplina da inteligência artificial, depende de redes neurais artificiais para analisar e processar grandes volumes de dados. Essa técnica permite que as máquinas aprendam padrões e executem tarefas complexas, como reconhecimento de fala e visão computacional. Sua capacidade de melhorar continuamente à medida que mais dados são fornecidos a ele o torna uma ferramenta fundamental em vários setores, da saúde.... 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!
Tabela de conteúdo
- OpenCV
- Imagem Scikit
- Scipy
- Biblioteca de imagens Python (Almofada / PIL)
- Matplotlib
- SimpleITK
- Numpy
- 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 caixaA segmentação é uma técnica de marketing chave que envolve a divisão de um mercado amplo em grupos menores e mais homogêneos. Essa prática permite que as empresas adaptem suas estratégias e mensagens às características específicas de cada segmento, melhorando assim a eficácia de suas campanhas. A segmentação pode ser baseada em critérios demográficos, psicográfico, geográfico ou comportamental, facilitando uma comunicação mais relevante e personalizada com o público-alvo.... 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:
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)
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))
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.
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)
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.
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))
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.
Alterar a nitidez de uma imagem:
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, histogramasHistogramas são representações gráficas que mostram a distribuição de um conjunto de dados. Eles são construídos dividindo o intervalo de valores em intervalos, o "Caixas", e contando quantos dados caem em cada intervalo. Essa visualização permite identificar padrões, tendências e variabilidade de dados de forma eficaz, facilitando a análise estatística e a tomada de decisões informadas em várias disciplinas.... 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.
Verifique a imagem a seguir após a operação de mudança de cor de fundo:
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:
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.
Verifique a seguinte imagem para extrair os canais verdes / vermelho / imagem azul:
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:
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.
Relacionado
Postagens Relacionadas:
- As 8 Principais bibliotecas Python para processamento de linguagem natural (PNL) sobre 2021
- Aplicativos de imagem digital | Processamento de imagem em Python
- Processamento de imagem com CNN | Guia para iniciantes em processamento de imagens
- Processamento de imagem OpenCV | Processamento de imagem com OpenCV