BOOL b[Height][Width]= { 0 };
int * p = & ampb[0][0];
LONG nCount = 0;
for(LONG I = 0;我& lt身高;i++)
{
for(長j = 0;j & lt寬度;j++)
{
if(rgba . RGB blue = = 255 & amp;& amprgbA.rgbGreen = 255 & amp& amprgbA.rgbRed = 255)
{
b[I][j]= 1;}
如果(*p==0)
{
ncount++;p++;
}
}
}其中寬度和高度可以通過位圖信息結構BITMAPINFOHEADER獲得。
通過執行以下操作獲得中心點
if (nCount!=0)
{
for(長m = 0;m & ltnCount/2;m++)
{
做
{ p++;
} while(* p = = 0);
}
}
即如果遇到0,跳過掃描黑匣子的壹般點。
至於用紅色覆蓋正方形,涉及到邊緣檢測和輪廓提取,代碼比較長。請參考visual c++數字圖像處理的相關內容,其配套光盤的源代碼也是網上下載的。