Forum Pplware

Versão Completa: Imagem Binária - Algoritmo de Contagem em Matlab
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
O objectivo consiste em contar quantas camadas tenho a preto e a branco numa imagem binária (no meu caso, é um passadeira), e dentro destas camadas contar o número de pixels que existem apenas numa linha recta vertical, de preferência colocada no centro da imagem.
A linguagem é matlab.

O algoritmo que tenho neste momento é:

I = rgb2gray(imread('pass_p.png'));

level = graythresh(I);
bw = im2uint8(im2bw(I,level));


imshow(bw);

[Nx, Ny] = size(I);
cP = 0;
cB = 0;

%Vectores
B = zeros(1,9);
P = zeros(1,9);

for k = 2:Ny-1
index = 1;
if(bw(((Nx-1)/2),k ) == 0) %preto
cP = cP + 1;
if(bw(((Nx-1)/2)-1, (k-1)) == 255)
B(1,index) = B(1,cB);
cB = 0;
index = index +1;
end
end
if(bw(((Nx-1)/2),k) == 255) %branco
cB = cB + 1;

if(bw(((Nx-1)/2)-1, (k-1)) == 0)
P(1,index) = P(1,cP);
cP = 0;
index = index +1;
end
end
end

Deixo aqui o link de uma possivel imagem ->
http://www.urbanreviewstl.com/wordpress/...sswalk.jpg

Contudo, não se esqueçam que a imagem tem que ser favoravel, de modo, que eu recortaria o que nao interessa, deixando apenas a passadeira.

Gostaria de saber se alguém consegue resolver o problema Smile
Desde já obrigado Big Grin
Olá Smile

Se colocares no Google, "Matlab pixel count", encontras diversos exemplos.
Já consegui resolver o problema.

Contudo isso não é verdade.
Coloquei no google esse tipo de tópicos e muitos mais e não é assim tão fácil de encontrar, até coloquei a duvida no StackOverFlow, dai ter conseguido resolver o problema.
Mesmo assim, se alguém pretender posso deixar o código aqui...

Obrigado pelo tempo dispendido, anyway Smile
Ainda bem que já resolveste o problema. Smile
URL's de Referência