Acesse o repositório em https://github.com/rubensantoniorosa2704/chromex
Nesta versão, o propósito foi modularizar simplificar a lógica das funções já existentes. Agora, ao invés de arquivos separados, todas as funções se encontram no mesmo arquivo, dentro da classe Chromex(), o cerne do nosso código. A classe Chromex() leva os seguinte parâmetros: o nome do arquivo que será salvo como a captura da imagem; e o caminho para a base de dados de cores.
-
A função getColorName determina o nome da cor predominante em uma imagem RGB fornecida. Ela calcula as médias dos canais de cor (vermelho, verde e azul) em uma área central da imagem, compara essas médias com uma tabela de cores e retorna o nome da cor mais próxima. Um limiar é usado para garantir correspondências precisas, e "Cor desconhecida" é retornado se nenhuma cor correspondente for encontrada.
""" Esta função recebe uma imagem capturada em formato RGB como entrada e calcula a cor predominante na área central da imagem. Para isso, ela divide a imagem em um retângulo central e calcula a média dos valores de cor (R, G, B) nessa área. Em seguida, compara esses valores com uma tabela de cores predefinida carregada a partir de um arquivo CSV para encontrar a cor mais próxima. Parâmetros: - image (numpy.ndarray): A imagem capturada em formato RGB. Retorna: str: O nome da cor predominante na imagem. """
-
Captura e converte a imagem da câmera.
""" Captura uma imagem da câmera e a converte para o formato RGB. Esta função ativa a câmera do computador, captura uma imagem em tempo real e a converte para o formato RGB. Ela permite que o usuário visualize a imagem em uma janela, pressione a tecla 's' para salvar a imagem capturada no arquivo especificado e, em seguida, retorna a imagem em RGB. Retorna: numpy.ndarray: A imagem capturada em formato RGB. """
-
A classe rgbList() inicializa as listas para os valores de cada canal rgb. A função appendNewRGB(r, g, b) apenas adiciona os parâmetros para cada lista.
""" Diz o nome da cor usando um mecanismo text-to-speech. Esta função utiliza a biblioteca `pyttsx3` para pronunciar o nome da cor especificada em voz alta. Ela recebe o nome da cor como entrada e utiliza um mecanismo de síntese de voz para produzir a saída de áudio correspondente. Além disso, imprime o nome da cor no console antes de pronunciá-lo. Parâmetros: - color_name (str): O nome da cor a ser pronunciado. """
- Comece com um issue aberto: precisamos da sua ajuda para resolver bugs, ou mesmo para aprimorar a documentação! Iniciantes são bem vindos, procure pela tag "good first issue" para saber onde começar.
- Crie um fork do projeto. Isso criará uma cópia do repositório original em sua conta do GitHub.
- Clone o repositório: vá para o repositório recém-forked e copie o URL do repositório. Em sua máquina local, abra um terminal e execute o seguinte comando para clonar o repositório em sua máquina:
- Crie um branch: Isso manterá seu trabalho isolado do branch principal.
- Agora já podemos por a mão na massa! Faça as alterações necessárias, e salve-as usando os comandos git add e git commit
- Sincronize com o repositório original: antes de enviar suas alterações, lembre-se de sincronizar seu fork com o repositório original. Os seguintes comandos servem para definir o repositório remoto e sincronizar os seus arquivos com o repositório original
- Subir alterações. Agora é hora de subir o que você criou para o repositório remoto. Para isso, use o seguinte comando:
- Crie um pull request: Vá para a página do seu fork no GitHub e clique no botão "Compare & pull request" (Comparar e abrir um pull request). Preencha as informações necessárias, incluindo uma descrição clara do que você fez nas alterações.
- Espere pelo feedback dos mantenedores, e depois que o pull request for aceito e mesclado (merged) no projeto original, sincronize seu fork com o projeto principal usando o comando "git pull upstream main"
Você contribuiu com sucesso para o projeto! Agradecemos imensamente pelo seu apoio até aqui. S2
Confira se você tem o Python instalado, e se instalou todas as dependências necessárias. Antes de rodar o programa, navegue até a pasta raiz do projeto e digite o comando: pip install requirements.txt. Se estiver executando no Linux, não esqueça de executar como sudo, pois, devido ao acesso à câmera e ao teclado, o programa requer privilégios de administrador
Pressione 'S' para capturar a imagem e retornar a cor em voz alta, e pressione 'Q' para sair do programa.
A documentação detalhada das funções pode ser encontrada no próprio código, além deste arquivo README.md
- Criação de um pacote para o Python Package Index.
- Novas funcionalidades...
Caso precise de ajuda ou tenha algum feedback, mande um email para rubensrosaneto27@gmail.com