画像からデータを収集する必要があります。ルーピングはマスクで行う必要があります。例えばopenCVのマスクで画像をループする
、私はシンプルなクロスマスクがあります。
1
1 1 1
1
をそして私は、画像のすべての点のグレー値の合計を知る必要があります。
// looping except first and last
int nr = image.rows-1;
int nc = image.cols-1;
for (int j=1; j<nr; j++) { // for all rows
const uchar* previous = image.ptr<const uchar>(j-1); // previous row
const uchar* current = image.ptr<const uchar>(j); // current row
const uchar* next = image.ptr<const uchar>(j+1); // next row
for (int i=1; i<nc; i++) {
sum = previos[i] + current[i] + current[i-1]
+ current[i+1] + next[i];
}
}
をしかし、私はこの間違った操作を行うと思う:
私はこのように、単純なループを使用することができます。 cv::Mat kernel()
のようなものを使うべきでしょうか?
私はパラメータであるためにマスクが必要なので、私はあらゆる種類のマスクを使用できます。
イメージをマスクでループする準備ができましたか? (filter2D関数がありますが、画像を変更する必要はありませんが、ピクセルで計算するだけです)。
各ピクセルの 'sum'で何をしたいですか?ここでは – moooeeeep
は簡単な例です。本当に、私はSUSAN検出アルゴリズムを適用するために、すべての合計でいくつかの計算式を計算する必要があります。 –