Quelqu'un at-il une idée de la façon d'effectuer un feu de forêt en C++?Algorithme Grassfire en C++
J'utilise la bibliothèque OpenCV
Quelqu'un at-il une idée de la façon d'effectuer un feu de forêt en C++?Algorithme Grassfire en C++
J'utilise la bibliothèque OpenCV
Qu'en est-il du lien dans pseudocode this.
Il va comme ceci:
for each row in image left to right
for each column in image top to bottom
if(pixel is in region){
set pixel to 1 + minimum value of the north east neighbours
}else{
set pixel to zero
}
}
}
for each row right to left
for each column bottom to top
if(pixel is in region){
set pixel to min(value of the pixel,1 + minimum value of the south west neighbours)
}else{
set pixel to zero
}
}
}
Quelle est la différence à la distance de transformation? Il y a une fonction appelée cv::distanceTransform, peut-être que cela peut vous aider.
Il s'agit donc d'une version modifiée du feu de forêt que j'utilise actuellement pour l'extraction de BLOB. Il faut une image numérisée (qui a été modifiée de telle sorte que toutes les valeurs soient 1 ou 0) et renvoie un vecteur de boîtes englobantes dont la plus grande est la première. Le code est plutôt long mais c'est dans un dépôt public au https://github.com/bstadt/JHU-Robotics-compVis dans le fichier src/cvLib.cpp. Sachez également que la boîte englobante est une classe que j'ai écrite moi-même, donc vous en aurez besoin également. Il a sa source dans le dossier src et un en-tête dans le répertoire include, alors assurez-vous de saisir les deux.