Reconhecimento simples de Imagem

Olá, pessoal, tudo bem?

Preciso de uma solução em relação a um problema:

Reconhecer uma imagem em um site e quando ela mudar, me retornar algum aviso/sinal.

Preciso desenvolver
Reconhecer a COR da imagem no SITE
Retornar para a COR avisando que alterou para a COR VERMELHA, por exemplo. Ou Amarela Ou verde. Etc.

Já acessei stack, etc. Tudo crasha, provavelmente por minha incompetência, mas estou tentando ainda.
Se eu solucionar, prometo postar um tutorial completo aqui.

Obrigado!

Primeiramente seja bem vindo! :+1:
Cara eu sugiro que você tente solucionar uma questão por vez.
Você quer trabalhar com Python e IA??

Você já tem algo pronto? Digo… você já tem uma aplicação em Python que você já consegue identificar as cores? Ou que acesse o site??

Bom… não sei se bem isso… mas este artigo talvez ajude

2 Curtidas

Acrescentando as dicas do Rogério, eu aconselho você a fazer as seguintes coisas antes:

  1. Foque em conseguir algo simples e rápido de programar. Não se preocupe com requisitos não-funcionais (performance, segurança, estética) antes de ter um protótipo 100% funcional. Deixe estes problemas para depois de ter um protótipo pronto. Inicialmente, foque em apenas uma plataforma, Linux, Windows, etc.

  2. Elaborar uma lista de requisitos funcionais (habilidades do programa)

  • Deve carregar um site.
  • Deve monitorar um site.
  • Deve detectar a cor da página.
  • etc…
  1. Dividir as funcionalidades em problemas menores e tente resolvê-los com a abordagem mais simples possível, com uma ferramenta familiares (linguagem+bibliotecas+Framework que conhece), procurando no Google. Se não tiver uma ferramenta familiar, procure por uma ferramenta que seja fácil e que seja utilizada na área em questão.
  • Deve carregar o site.

    1. Como abrir um navegador com a linguagem X
    2. Como fazer uma interface em linguagem X abordagem desnecessariamente difícil
    3. Como fazer um programa de linha de comando que recebe um argumento (o link do site).
    4. Como carregar um site em uma engine web na linguagem x X abordagem desnecessariamente difícil
    5. Como abrir o navegador H + link para site usando a linguagem X
  • Deve monitorar um site:

    1. Como monitorar um programa de interface gráfica.
  • Deve detectar a cor da página.

    1. Como monitorar um programa de interface gráfica.
  1. Tente abordar o problema variando elementos e abstração, por exemplo, como você faria manualmente para provar matematicamente que uma foto ou captura de tela do site mostra que a cor do site é X? Buscando dicas para uma abordagem via programação.

  2. Explore as definições e termos que blogs e tutoriais podem te apresentar durante sua pesquisa e estão fora do seu vocabulário. Não abandone um texto “confuso” tão rapidamente.

2 Curtidas

É pra ser GUI? Qual linguagem? Possui alguma restrição?

Como o @romulopb sugeriu, vamos pegar o aspecto mais simples do seu problema e começar com isto.

Ao meu ver, identificar a cor de uma imagem é o MVP, e em volta disso vc pode aumentar e incrementar as funcionalidades.

Um jeito muito simples de reconhecer a cor de uma imagem (mais especificamente, a cor média ou predominante) é redimensionando ela para 1x1 pixels.

Em seguida inspecionamos a imagem redimensionada e extraímos a cor dela. Vou usar a seguinte imagem como exemplo:


https://plus.diolinux.com.br/uploads/default/original/1X/2da6855326ea3cc71d1fda712f1182f507e8e83a.png

#!/usr/bin/env bash
cor_da_imagem() {
        curl -s "${1}" \
        | convert - -resize 1x1 txt:- \
        | grep -Po "#[[:xdigit:]]{6}"
}
$ url_da_imagem="https://plus.diolinux.com.br/uploads/default/original/1X/2da6855326ea3cc71d1fda712f1182f507e8e83a.png"
$ cor_da_imagem "${url_da_imagem}"
#90B4EA

Esta cor #90B4EA é um azul clarinho (a média do azul forte do logo com o branco do texto)
90B4EA

A partir disso, vc pode dar uma pesquisada em funções pra “arredondar” / “aproximar” este valor hex para named colors, criar uma tabela com traduções dos nomes das cores, etc … o resto é com vc :smiley_cat:


PS: caso não esteja familiarizado com o comando convert, ele vem do pacote ImageMagick.