Posicionamento Morfológico Preliminar das Teclas do Teclado

Continue a criar, acelere o crescimento! Este é o primeiro dia da minha participação no "Nuggets Daily New Plan · June Update Challenge", clique para ver os detalhes do evento

prefácio

  Estou atualizado há quase um mês, e hoje atualizei um artigo utilizando o MATLAB para processar as teclas de um teclado mecânico, e realizar um posicionamento preliminar das teclas, utilizando operações morfológicas básicas (conteúdo básico de imagens digitais).

  Esses dados são provenientes de materiais de laboratório, o formato da imagem é: bmp , e os requisitos são: utilizar o conteúdo básico das imagens digitais para posicionamento preliminar das chaves na imagem (sem o auxílio de redes neurais); as chaves são divididas em: sem perdas, manchas brancas e depressões, existem quatro tipos de corrosão, vou escolher esses quatro tipos de imagens para processamento experimental.

Idéias de Design de Posicionamento

30_output.bmp   A imagem acima é um botão sem perdas, a profundidade de bits da imagem que pode ser visualizada no lado do PC é 8 (imagem de canal único), portanto, não há necessidade de executar o processamento em escala de cinza durante o processamento da imagem.

   Como o botão tem uma característica distinta: ele é envolvido em um círculo preto conectado e o círculo preto externo não está conectado, portanto, após a binarização, a imagem deve poder ter um círculo envolvido em preto. A transformada de Hough não é usada para detecção de círculo aqui porque a raiz da questão requer detecção de transformação morfológica.

   Após a binarização, o controle deste limiar e a eliminação do ruído interno é um trabalho paciente, e precisa ser continuamente depurado até que seja exibido com sucesso. O resultado final deve ser um disco preto ou um disco branco, e então calcular o limite valor Lote para localizar.

Prática

  Aqui eu dividi 5 passos, o conteúdo específico é o seguinte (as imagens aumentam sequencialmente da esquerda para a direita):

Passo 1: Exiba a imagem selecionada (Figura 1)
Passo 2: Binarize a imagem selecionada (Figura 2)
Passo 3: Remova o ruído e inverta (Figura 3)
Passo 4: Operação de dilatação (Figura 4)
Passo 5: Calcule o posicionamento do limite (Figura 5) imagem.png   Entre eles , Step1: , Step2: Não há nada a dizer sobre selecionar a imagem e binarizá-la, mas você pode ver que há de fato um círculo preto na imagem após a binarização para envolver o botão, embora também haja partes pretas do lado de fora, apenas em A parte conceitual também aponta que o mundo externo não está conectado, e o botão pode ser posicionado conforme se trata de uma área conectada.

   Por que você deseja remover o ruído na terceira etapa? Retire o preto fora da imagem e retenha as informações dentro do círculo.Aqui escolho remover a área com pixels conectados menores que 70000 (imagem post-proposed = bwareaopen(binary image, 70000)), e depois invertê-la para facilitar a corrosão.

  Depois de obter uma imagem binária de um círculo preto, pode-se ver claramente que é a posição do botão. Neste momento, precisamos calcular o limite preto. Na imagem, 0 representa o branco e 255 representa o preto; precisamos para calcular 255 no limite na matriz de imagem. Na posição e, em seguida, use Plit para localizar e desenhar.

Exibição de resultados

Mancha Branca: imagem.png Corrosão: imagem.png Sag: imagem.png Normal: imagem.png

      Veja a parte do código: juejin.cn/post/710146…

Supongo que te gusta

Origin juejin.im/post/7101448993729118216
Recomendado
Clasificación