opencvを使用して、画像マトリックス内の最小強度の点を計算するために、次の関数を作成しました。ただし、強度が最小のポイントとして常にポイント0,0を取得しており、強度の値も-2142489423のようにばかげています。誰かがこれを手伝ってくれる?
imgは入力画像行列であり、minlocは最小強度のcvPointを返します。
int min_Loc(Mat img, Point minloc)
{
cvtColor(img, img, CV_RGB2GRAY);
int x1;
int y1;
int x2;
int y2;
x1 = 0;
x2 = img.rows;
y1 = 0;
y2 = img.cols;
int min = std::numeric_limits< int >::max();
int currentval;
for (int j=y1; j<y2; j++)
{
for (int i=x1; i<x2; i++){
currentval = img.at<int>(j,i);
if(currentval < min){
min = std::min<int>( currentval, min );
minloc.x = i;
minloc.y = j;
}
}
}
return min;
}