Escrever o artigo de hoje foi uma experiência fascinante para mim y também lo seria para os leitores deste blogue. Qué es tan diferente? Dos cosas: em primeiro lugar, o artigo trata sobre algo que sempre quise hacer desde que tenía 5 anos; em segundo lugar, este tema / Ferramentas / algoritmo también son nuevos para mí. De ninguna manera soy un maestro en el procesamiento de imagens, pero la utilidad de este campo simplesmente me dejó alucinado.

Imagine, si pode criar uma aplicação para etiquetar automaticamente una fotografía como la de Facebook, o crear su propia contraseña de reconocimiento facial para su computadora portátil. Neste artigo, recogeré una aplicação muy simple pero interesante del procesamiento de imágenes. Usaremos Python para fazer el procesamiento de imágenes. Nos próximos artigos, abordarei exemplos mais complexos de processamento de imagens. Este é o problema em que vou trabalhar neste artigo:
Exposição do problema
Adivinha o que é esta imagem?

Tens razão, é uma imagem típica de um céu aberto. Tirei esta foto desde a última noite até ontem em Bangalore, da minha varanda. Nesse momento, não fazia ideia de que isto podia ser um exercício tão emocionante e gratificante. Quando era criança, costumava passar horas a contar estas estrelas, mas quase sempre não conseguia ir além de 50-60. Queria completar este exercício com a ajuda da minha máquina. Não fazia ideia de que isto fosse possível até ao domingo passado, e hoje concluí esta longa tarefa pendente usando Python.
Comecemos
Paso 1: importar a biblioteca necessária
O pacote Skimage permite-nos processar imagens usando Python. A linguagem é extremamente simples de compreender, mas realiza algumas das tarefas mais complicadas. Aqui estão algumas bibliotecas que precisa de importar para começar,

Paso 2: Importar a imagem
Uma vez que temos todas as bibliotecas no lugar, precisamos importar o nosso ficheiro de imagem para o Python. A seguir está o código que pode usar para importar o ficheiro de imagem. Note que a imagem é importada a preto e branco, o que basicamente significa que cada pixel tem um tom de cinzento. E cada pixel é essencialmente convertido numa célula numa matriz. Neste caso, a imagem é uma matriz de 480 * 581 Células (ou uma imagem de 480 * 581 píxeis).

Paso 3: Encontrar o número de estrelas
Ahora viene la parte crítica en la que nuestro trabajo principal se realiza mediante unos pocos comandos. Estos pocos comandos salen para buscar objetos continuos en la imagen. Blobs_log da três saídas para cada objeto encontrado. Los dos primeros son las coordenadas y el tercero es la área del objeto. El radio de cada blob / objeto se pode estimar usando esta coluna (área del objeto).

Como podemos ver, el algoritmo ha estimado 308 estrellas visibles. Veamos ahora qué tan precisas son estas leituras.
Paso 4: Validado si capturamos todas las estrellas
e depois verifique se o segundo parâmetro tem um valor 308 todavía está saliendo de una caja negra. Veamos si hemos detectado corretamente todas las estrellas. Para isso, Estoy rodeando cada posição estimada de las estrellas. Y la mirada à imagem si nos falta alguma estrella.

Aqui está o código completo:
from matplotlib import pyplot as plt from skimage import data from skimage.feature import blob_dog, blob_log, blob_doh from math import sqrt from skimage.color import rgb2gray import glob from skimage.io import imread
example_file = glob.glob(r"C:UsersTavishDesktopwint_sky.gif")[0] im = imread(example_file, as_grey=True) plt.imshow(Im, cmap=cm.gray) plt.show()
blobs_log = blob_log(Im, max_sigma=30, num_sigma=10, threshold=.1)
# Compute radii in the 3rd column.
blobs_log[:, 2] = blobs_log[:, 2] * sqrt(2)
numrows = len(blobs_log)
imprimir("Número de estrelas contadas : " ,numrows)
FIG, ax = plt.subplots(1, 1)
plt.imshow(Im, cmap=cm.gray)
for blob in blobs_log:
e, x, r = blob
c = plt.Circle((x, e), r+5, color ="lime", linewidth=2, fill=False)
ax.add_patch(c)
Notas finais
O processamento de imagens é fascinante! Comecei a minha jornada com processamento de imagens em Python há não mais de 5 dias. Para benefício da comunidade, animaré a compartir cualquier sugerencia o mejor práctica en este foro. Es posible que este exercício no tenga ninguna aplicación práctica, pero se podem realizar análises semelhantes para as estimaciones de pureza. Por exemplo, en la indústria del vidrio necesitamos la cantidad de partículas de sílice en el vidrio a un nivel microscópico. Al capturar los fotogramas en un video, pode usar este código simple para hacer muchas cosas. Por exemplo, estimación del tráfico a través de imágenes de CCTV. Este código se puede adaptar facilmente para lograr lo mismo.
O artigo foi útil para você? Si ha realizado trabalhos semelhantes en el procesamiento de imágenes de Python, compártalos con nosotros. Deixe-nos saber sua opinião sobre este item na caixa abaixo..



