基本的な問題は次のとおりです。
私は CV_8UC1 型の CVMat を持っています。これはほとんどが 1 から 100 までの整数 (実際には char ですが、なんでも) で埋められています。残りの要素はゼロです。
この場合、0 は基本的に「不明」を意味します。基本的に、未知の要素を最も近い要素の平均で埋めたい...つまり、この行列が穴がたくさんある 3D サーフェスを表している場合、穴をスムーズに埋めたい。
もちろん、かなり大きな穴がいくつかある可能性があることを念頭に置いてください.
この操作は一度しか行われず、問題のマトリックスは約1000x1000よりも大きくないため、効率はそれほど重要ではありません。
完了する必要があるコードは次のとおりです。
for(int x=0; x<heightMatrix.cols; x++) {
for (int y=0; y<heightMatrix.rows; y++) {
if (heightMatrix.at<char>(x,y) == 0) {
// ???
}
}
}
ありがとう!!