El Python Imaging Library - PIL sólo lo hace la manipulación de imagen básica - de apertura, algunas transformadas o filtros, y guardar en otros formatos.
Reconocimiento de patrones, es parte de un campo avanzado de procesado de imágenes y evoluciona - deos utiliza algoritmos muy diferentes a los presentes en PIL.
Hay algunas bibliotecas y marcos que puede usar en Python para el reconocimiento de patrones (reconocimiento de estrellas y lunas, etc.). Aunque lo adelanto: si lo desea, solo para clasificar one0-hundered-and-a- pocas banderas de coutnry, deberías hacerlo manualmente, en lugar de intentar bucear en reconocimiento de patrones.
Su comentario sobre la cantidad de colores indica que no se usa en absoluto con imágenes de computadora. Y el reconocimiento de patrones es hardcore, incluso con un front-end python. (No se puede esperar que un marco actual sepa de antemano qué es una "luna" o una "estrella", por ejemplo)
Entonces, para menos de 500 imágenes, puede recurrir a un software que le permite etiquetar imágenes manualmente y escribe un código para vincular las etiquetas a cada bandera.
En cuanto a los colores: Las imágenes rasterizadas por ordenador están formadas por píxeles. Estos son cuadrados En el límite entre diferentes colores, si un píxel está en un color (por ejemplo, blanco) y su vecino es un color completamente diferente (como el rojo), este límite aparecerá irregular. Esto se conoce como "aliasing". Para disminuir esto, el software de computadora mezcla colores en límites difíciles, creando colores intermedios, es por eso que un PNG incluso con 2 colores aparentes puede tener varios colores internamente. Para .JPG es aún peor, porque los números decimales redondeados para los colores RGB que usamos ni siquiera están almacenados como están en la imagen.
A diferencia del reconocimiento de patrones, puede reducir el tamaño de los colores vistos utilizando solo los bits más significativos de cada componente. Yo diría que los dos bits más significativos serían suficientes. La siguiente función pitón podría hacer que el uso de un color dado por recuento PIL:
def get_main_colors(col_list):
main_colors = set()
for index, color in col_list:
main_colors.add(tuple(component >> 6 for component in color))
return [tuple(component << 6 for component in color) for color in main_colors]
llamada con "get_main_colors (bild.get_colors())", por ejemplo.
Aquí es otra cuestión se trata de la parte de reconocimiento de patrones: python image recognition
Es la CIA. Tal vez hayan usado la esteganografía para codificar mensajes secretos en las imágenes de la bandera al modificar sutilmente los colores ... y ahora lo han comentado aquí. ¡CORRER! –
Bueno, mientras estoy leyendo esto, hay una camioneta deteniéndose frente a mi puerta. Oh, qué es $ &% $ & Connection perdido – qbi