這是我的一次。 Turbo C++是真正的古代。我得到了一個圓圈的中心問題,我寫了一個程序來顯示質心的座標,但顯示屏顯示了我--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的每像素爲4Bytes,那麼您應該每次將p增加4,否則複製到q時您將遍歷每個顏色通道,這將只複製圖像的四分之一。此外,您應該對rgb頻道進行平均以獲得灰度值。 – Nobody
@Pollano,圓圈是我的相機發現的一個點。 – Chang