2010-06-30 24 views
1

J'ai un problème: Étant donné un tableau nxm contenant 0 ou 1, j'ai besoin de grouper les 0 valeurs en rectangles. Au début, j'ai été utilisé un simple quadtree, mais différents nœuds dans le même niveau de l'arbre ont la même valeur. Je suis pas totalement sûr si le R-tree fonctionne pour mon problème ou une autre structure de données parce que je vais juste utiliser cette structure dans l'étape de pré-calcul et c'est tout.compression/empaquetage

p.s .: Je travaille avec des images 2D

Répondre

0

i opterait pour une solution récursive. quelque chose le long des lignes de

iszeroes returns 1 if matrix has only zeroes 
def search_for_zeroes(matrix, colormatrix) 
! conquer - part, matrix is essentially only a cell 
    if size(matrix) .eq. 1 then 
     search_for_zeroes = iszeroes(matrix) 
     if iszeroes(colormatrix(matrix)then 
      colormatrix(matrix) = black) 
     end if 
    end if 
! divide - part, looks if four cells are all zero and colors them black 
    if search_for_zeroes(upper_left) and search_for_zeroes(upper_right) 
     and search_for_zeroes(lower_left) and search_for_zeroes(lower_right) then 
     search_for_zeroes = true 
     colormatrix(matrix) = black   
    end if 

je ne l'ai pas codé moi-même, juste pseudocode. changera quand je quitterai le travail aujourd'hui, mais cela devrait fonctionner aussi. acclamations