{"id":28217358,"url":"https://github.com/danielaraldiedu/image-processor","last_synced_at":"2026-04-29T12:32:32.335Z","repository":{"id":56782775,"uuid":"500127019","full_name":"DanielAraldiEDU/image-processor","owner":"DanielAraldiEDU","description":"Trabalho de processamento de imagens em Python.","archived":false,"fork":false,"pushed_at":"2022-06-09T00:34:24.000Z","size":3520,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T13:46:54.412Z","etag":null,"topics":["matplotlib","numpy","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DanielAraldiEDU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-05T14:54:09.000Z","updated_at":"2024-03-02T18:10:50.000Z","dependencies_parsed_at":"2022-08-16T02:50:34.928Z","dependency_job_id":null,"html_url":"https://github.com/DanielAraldiEDU/image-processor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DanielAraldiEDU/image-processor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielAraldiEDU%2Fimage-processor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielAraldiEDU%2Fimage-processor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielAraldiEDU%2Fimage-processor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielAraldiEDU%2Fimage-processor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanielAraldiEDU","download_url":"https://codeload.github.com/DanielAraldiEDU/image-processor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielAraldiEDU%2Fimage-processor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32426572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T12:24:25.982Z","status":"ssl_error","status_checked_at":"2026-04-29T12:24:24.439Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matplotlib","numpy","opencv","python"],"created_at":"2025-05-18T00:12:01.736Z","updated_at":"2026-04-29T12:32:32.323Z","avatar_url":"https://github.com/DanielAraldiEDU.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" style=\"flex-direction: column;\"\u003e\n  \u003ch1\u003eProcessador de Imagens\u003c/h1\u003e\n  \u003cp\u003eTrabalho de descrição de um processador digital de imagens feito por Daniel Sansão Araldi e Jonathas Meine\u003c/p\u003e\n  \u003cimg src=\"https://wakatime.com/badge/user/920a7e43-2969-4212-82ff-1b375685ff58/project/e877a31b-05a9-4ed4-ad82-f9ed7df1bd35.svg\" title=\"Wakatime\" alt=\"Wakatime\"/\u003e\n\u003c/div\u003e\n\n\u003chr\u003e\u003c/hr\u003e\n\n### Como executar\n\n1. Na raiz do projeto.\n2. Execute o seguinte comando abaixo:\n\n```sh\npython main.py\n```\n\n\u003chr\u003e\u003c/hr\u003e\n\n### Descrição do Trabalho\n\n#### Introdução\n\nNosso trabalho foi desenvolvido em torno da conversão de imagens RGB para grayscale ponderado. Abaixo iremos descrever as etapas de execução do código para a conversão da imagem em grayscale.\n\n#### Etapas:\n\n1. **Bibliotecas**: Realizamos a instalação das bibliotecas [OpenCV](https://opencv.org/) e [Numpy](https://numpy.org/). A OpenCV é a biblioteca que utilizamos para lidar com o processamento de imagens e o Numpy é a biblioteca que utilizamos para processar grande quantidade de dados númericos multidimensionais. Realizamos a importação de ambas as bibliotecas usando a sintaxe de `import \u003cnome_da_biblioteca\u003e` no código, com isso, podemos trabalhar com suas funções.\n\n2. **Leitura da Imagem**: Criamos uma varíavel chamada `image` que irá receber o valor da imagem. Usamos a função `imread` da biblioteca OpenCV para retornar o valor da imagem a varíavel `image`. A função `imread` faz a leitura de uma imagem, apenas passando o caminho de onde está o arquivo da imagem a ser lida.\n\n3. **Separação do Valores RGB**: Definimos três novas variáveis, chamadas `blue`, `green` e `red`, que irão receber o valor de uma matriz retornada pela função `split` da biblioteca OpenCV, que separa um `array` de várias matrizes para matrizes únicas separadas. Assim, no nosso caso, são separadas as matrizes correspondentes às proporções de RGB da imagem para trabalhar com cada escala de cor de modo diferente.\n\n4. **Cálculo da Imagem para Grayscale**: Temos uma varíavel chamada `imageGrayscalePondered` que irá receber a matriz que correspondente ao grayscale da imagem, a partir do cálculo realizado com as proporções de RGB (das varíaveis `blue`, `green` e `red`). Recorremos a função `array` da biblioteca Numpy para criar um novo `array` de matrizes, a partir da varíável `imageGrayscalePondered` e forçamos que o tipo dos valores das matrizes do `array` será `uint8` (um inteiro de 8 bits). Sendo assim, é atribuído o valor desse `array` de matrizes a variável `imageGrayscalePondered`.\n\n5. **Mostrar a Imagem**: Por fim, usamos a função `imshow` do OpenCV para mostrar a imagem convertida em grayscale. Adicionamos a função `waitKey` que espera o clique de alguma tecla, para assim, executar a função `destroyAllWindows` logo abaixo (também são funções da biblioteca OpenCV), que irá fechar a janela que esta exibindo a imagem e finalizar a execução do código.\n\n\u003chr\u003e\u003c/hr\u003e\n\n**Obs.:** Nós mudamos os nomes das variáveis e das imagens originais para ficarem autoexplicativas. Não mudamos nada da lógica do código, apenas explicamos.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielaraldiedu%2Fimage-processor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielaraldiedu%2Fimage-processor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielaraldiedu%2Fimage-processor/lists"}