Analisando propostas

Desenvolvimento de Código Python para o processamento de Imagens

Publicado em 05 de Janeiro de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Descrição:
Desenvolver um código em Python para aprimorar a qualidade da imagem de uma redação para otimizar o reconhecimento do texto.
As imagens são de uma redação escrita à mão em uma folha padrão de respostas (em anexo) com margens definidas.
Primeiramente, será necessário avaliar se a qualidade de uma imagem subida pelo usuário quanto à resolução, sombra, nitidez etc. Após a avaliação, um feedback deve apontar se o usuário deve reenviar outra imagem.
Em segundo lugar, as imagens aceitas pela primeira etapa (avaliação da qualidade) devem ser alinhadas quanto as margens vertical e horizontal. Já temos um código que realiza essa função, mas deve ser otimizado e atualizado.
Imagens obtidas com angulações, devem ser corrigidas para uma melhor visualização.
Na imagem padrão (padrão de respostas) haverá um código de barras ou QR Code. É Necessário desenvolver uma função ou algoritmo que reconheça e verifique o código de barras ou QR Code na imagem padrão. Garantir que o código identificado corresponda à folha padrão correta.
Além de minimizar possíveis ruídos na imagem (aprimoramento da qualidade da imagem), será necessário realizar o recorte da imagem de acordo com a margem mais externa ao redor do texto. Também temos o código que realiza essa tarefa, mas deve ser adaptado.
Por último, será necessário calcular a distância entre a margem à direita e o último caractere de cada linha.
Há vários códigos já disponíveis na literatura sobre o processamento de imagens que podem ser utilizados como ponto de partida, exemplos:
a)    https://github.com/AdityaPai2398/CamScanner-In-Python/blob/master/LICENSE
b)    https://levelup.gitconnected.com/create-your-own-camscanner-using-python-opencv-2dd8355432de
c)    https://github.com/savannahar68/CamScanner-Python/blob/master/scannerApp.py
O projeto também inclui a limpeza e otimização do código Python, com comentários destacando a necessidade de cada função ou tarefa.

Contexto Geral do Projeto

Requisitos do Projeto: Código Python: O código deve ser escrito seguindo as melhores práticas para garantir leveza e robustez, como a aderência à PEP 8 (guia de estilo de código Python) e outras diretrizes relevantes. Verificação da qualidade da imagem: Uma função deve verificar a qualidade de uma imagem subida pelo usuário quanto à resolução, visibilidade dos caracteres etc. Além da verificação, será necessário emitir um feedback quanto a imagem e quando for o caso, exigir que o usuário reenvie a imagem. Alinhamento da imagem: A partir de uma imagem RGB de diferentes formatos (.jpg, .png etc) de uma redação escrita à mão com margens bem definidas, realize o alinhamento da imagem quanto as margens verticais e horizontais. Angulação da imagem: No código será importante verificar se a imagem apresenta alguma angulação. Em caso positivo será necessário corrigir. Isso também deve ser destacado na etapa de feedback da imagem. Identificação do QR code ou código de barra: Nas folhas de respostas padrão, haverá um QR code ou código barra. Uma função deve reconhecer o QR code e verificar se é o correto. Aprimoramento da qualidade da imagem: Utilize alguma função de aprimoramento da imagem para minimização de ruído. Recorte do texto: Realize o recorte da imagem após o alinhamento e melhoria da qualidade. O recorte deve ser realizado a partir da margem externa da imagem. Lembrando que a imagem é de uma redação com margens externas a direita e esquerda. Determinar a distância entre a margem e o último caractere: medir a distância (em pixel ou cm) entre a margem a direita e o último caractere de cada linha da redação. Informações Adicionais: ● Algumas funções para as tarefas exigidas já estão prontas, mas precisam de adaptação. Além disso, outros códigos para outras tarefas também estão disponíveis nos links acima, mas necessitam de otimização e melhorias para torná-las mais leves e eficientes para a demanda proposta.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: 15 de Janeiro de 2024

Habilidades necessárias

Outro projetos publicados por P. A.