もう一度私です。ターボC++は本当の古代です。私は円の中心を取得する際に問題を抱えていますが、重心の座標を表示するプログラムを作成しましたが、ディスプレイは数値の代わりに-NAN、-NANを表示します。助けてください、thnx。サークルの中心を取得するTurbo C++
unsigned char *p = rgbImage; //rbgImage = new unsigned char [ 160 * 120 * 4 ]
unsigned char *q = image; //image = new unsigned char [ 160 * 120 * 1 ]
int n = 0;
float LaserX = 0, LaserY = 0;
char* LaserMID = new char[255];
for(int j = 0; j < 120; j++) {
for(int i = 0; i < 160; i++) {
*q++ = *p++;
if (*q >= Thrshld) {
LaserX += j;
LaserY += i;
n = n + 1;
}
}
}
LaserX = LaserX/n;
LaserY = LaserY/n;
sprintf(LaserMID, "%.1f, %.1f", LaserX, LaserY);
ShowCo->Text = LaserMID;
このサークルをどのように表現しますか? –
rgbImageに1ピクセルあたり4Bytesがある場合は、各ラウンドごとにpを4ずつ増やすか、qにコピーするときに各カラーチャネルを通過して画像の4分の1しかコピーしないことに注意してください。グレー値を得るために、さらにrgbチャンネルを平均する必要があります。 – Nobody
@Pollano、円は私のカメラで見つかった点です。 – Chang