Algoritmo para contagem de objetos em imagem

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor Jorge_Francisco » 14 Out 2008 17:40

Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Jorge_Francisco » 14 Out 2008 17:54

Neste site que coloquei o cara levou a imaginação ao extremo.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor styg » 14 Out 2008 20:22

EI!!!

q isso? cs tao ai conversando e eu de fora?? eahuehauhe
pena nao ter entrado antes..

vamos por partes:

jorge:
agora entendi o que voce chamou de passar pra escala gray, e vi que faltou eu dar umas explicacoes. o bitmap que eu vou analisar já eh de 8 bits, pois eu vou capturar a bitmap diretamente de uma camera (cmucam).
entao essa parte nao eh necessaria (desculpa a falta de info)

joao:
poseh tem esse problema da superposicao, mas confesso que to gostando da ideia de fazer o algoritmo na unha e ter resolver todos esses problemas que comentasse. e entendi sim!!

jorge denovo:

o que vai ter na figura sao colonias de bacterias, como na foto:

Imagem
Imagem

q achas?

bom, esta implementado da seguinte forma: a camera, o arm e uma sram de 2MBytes dividindo o bus de dados. o arm acessando os endereços da sram via um contador de 20bits, e controlando todos os sinais de escrita da sram.
capturo a foto e jogo na sram (foto em tons de cinza). depois o mcu acessa a sram diretamente pra ir pegando os dados e fazendo o processamento.

joao:
nao joao, tudo codigo feito, nada de SO, mesmo pq acho q arm7 nao roda Linux, só os arm9 p cima por ter mmu.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor Jorge_Francisco » 14 Out 2008 22:20

Bom, achei complicado pela dimensão das colonias. Mas impossível não é, pois já vi alguns projetos assim. O que eu fiz aqui foi ampliar a imagem, e filtrar, mas pegou 90% das colonias, se é muito ou pouco, não sei. Mas vamos passo a passo.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor joao » 15 Out 2008 04:53

Ola Styg,

Eu to meio errado ou a sua imagem não terá mais do que 2MB de imagem? Isso seria + - a imagem que vc postou ai não é? Em relação ao tamanho e a qualidade da imagem, essa seria a mesma proporção da imagem postada, correto?

Vc teria que ver o seguinte nessa imagem: Não temos a imagem pronta neste caso. Temos a borda do vidro sendo mostrada também. O que significa que tem que tirar ela primeiro. Quem sabe, se for algo fixo, com posicao e tamanho sempre iguais, poderia deixar fixo a posicao em que se encontra o vidro. Realmente será meio complicado isso.

Vc vai ter que contar tanto as vermelhas como as azuis? Serão sempre as mesmas bacterias? Ou seja, sempre dessas cores? Se sim, acho mais fácil já partir para a binarização usando essas cores. Ou seja, se o pixel tem uma cor muito similar de vermelho ou de azul, a cor será preta. Senão será branco. Dai desta maneira vc já descarta o vidro e deixa apenas as bactérias a mostra.

Quanto a contagem, tenta usar o que a gente explicou anteriormente...

Jorge, vc tem um prog que conta a quantidade de objetos na imagem? Como vc chegou em 90%? Contou no olhometro mesmo? :)

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor proex » 15 Out 2008 06:50

Eu ja vi implementações muito mais simples que essas que vcs estão discutindo ai, ainda mais se tratando de imagem preto e branco.

Compara-se a foto tirada pela camera com uma foto Referencia armazenada na memoria.

Nessa comparação admite-se uma tolerancia (desvio) de 10% da posição do objeto fotografado, em relação a foto de referência.

O detalhe importante é que a foto de referencia tem que ser tirada com a mesma câmera será usada no processo de contagem.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor styg » 15 Out 2008 07:28

Bom, a imagem vai ser de 480x480, o tamanho real desse disco sera de uns 5 a 10cm.

A imagem tera um tamanho de 230400 bytes (480x480).

A sram é de 2M para mim poder armazenar até 8 imagens, pra fazer media.

A imagem será e tons de cinza (8 bits).

Quanto a borda, realmente vou ter que tirar, mas isso vai ser meio que fixo, entao acho q nao eh muito problema.

Quanto a cor vermelha ou azul, como a camera é pb, a principio nao vai ter diferenciacao.

E, proex, como funcionaria essa comparacao ? A foto de referencia serviria só pra retirar a borda, ou pra contagem tambem?
E se pudesse citar algumas dessas implementações que falasse..
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor Jorge_Francisco » 15 Out 2008 07:38

João

Fiz no Olhômetro,hehehe. Realmente a borda incomodou um bocado, mas se a imagem for fixa tem como tirar. Ou talvez nem precise.

styg

Me manda uma imagem com mais resolução para que eu possa trabalhar em cima dela. Posso tentar fazer algo genérico, aí quando for desenvolver em ARM será compatível.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor styg » 15 Out 2008 09:47

Jorge, eu nao tenho uma imagem ainda, mas essa peguei na net acho q serve:

http://www.freewebs.com/beavercreek2004/Bacteria2.jpg

mas lembre-se que a imagem gerada no prototipo tera resolucao de 480x480.

esse seu generico vai ser em C ? seria melhor. hehe

valeu
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor Jorge_Francisco » 15 Out 2008 13:43

styg escreveu:Jorge, eu nao tenho uma imagem ainda, mas essa peguei na net acho q serve:

http://www.freewebs.com/beavercreek2004/Bacteria2.jpg

mas lembre-se que a imagem gerada no prototipo tera resolucao de 480x480.

esse seu generico vai ser em C ? seria melhor. hehe

valeu


Será em C. Baixei um pdf, que na verdade é um TCC, em que a ideia é mesma que a sua. Mas fica só no PC não parte para ARM, o que será o seu diferencial.

Pena que deixei no notebook, e só terei como mandar amanhã de noite. Manda o seu e-mail por MP.

Abraço
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Jorge_Francisco » 15 Out 2008 13:50

Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor styg » 15 Out 2008 14:13

de qlqr forma ja mandei a mp com o email, me add n msn se vc usa.

vou olhar esse documento
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor styg » 15 Out 2008 18:27

acho q encontei a soluçao pra contagem.
dica de um professor do meu curso

http://en.wikipedia.org/wiki/Connected_ ... t_labeling

a idéia é parecida com uma ideia do joao, e parecida com o q eu tava pensando.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor tcpipchip » 15 Out 2008 18:58

Ja ouvi falar de um amigo meu (que ja implementou rotinas de reconhecimento de rostos) que um ARM nao daria conta...rodando linux junto...
O certo seria um RTOS...acho eu...
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor styg » 15 Out 2008 19:26

mas nao vai t linux nao tcp.
nada de os ou rtos.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

AnteriorPróximo

Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

cron

x