Como você está trabalhando apenas no coeficiente de Tanimoto, estou tentando ser mais específico, em vez de dar uma resposta genérica com várias abordagens diferentes.
A notação básica do coeficiente de Tanimoto é a seguinte:
T( A , B ) = NA BNUMA+ NB- NA B
onde é o resultado desejado, sobre as imagens eTUMAB
Nesta medida, identificamos pixels como pertencentes a um determinado segmento, ou seja, é um segmento de pixel ou um plano de fundo. refere-se ao número de pixels que são classificados como pixel de segmento na respectiva imagem. E refere-se ao número de pixels que são classificados como pixel de segmento nas duas imagens.
NNA B
Nesta medida, todos os pixels que se qualificam nem em A nem em B não são calculados; somente os pixels.
Além disso, ambas as imagens devem ter a mesma resolução e locais idênticos aos dos objetos segmentados, mesmo que a forma da segmentação esteja correta, a sobreposição resultante pode não estar correta.
Não estou entrando no seu código do MATLAB, mas aqui está o pseudo-código que se parece.
Initialize N_A, N_B, N_AB;
for( all pixels @ x,y)
{
if(image_A[x][y] == SEGMENT_CLASS_PIXEL)
N_A += 1;
if(image_B[x][y] == SEGMENT_CLASS_PIXEL)
N_A += 1;
if(image_A[x][y] == SEGMENT_CLASS_PIXEL
&& image_B[x][y] == SEGMENT_CLASS_PIXEL)
N_AB += 1;
}
T = N_AB / (N_A + N_B - N_AB);