【求助】对固定区域图像进行处理代码探讨,谢谢大家
本帖最后由 clkz01 于 2012-11-27 17:07:26 编辑 1.已经实现鼠标坐标与CCD靶面坐标对应上,左上角为起始点0,0;
2.想根据鼠标点击图像,以点击的位置为中心,处理200*200像素范围内的图像,并计算出所在CCD靶面中的位置。
如:鼠标点击屏幕得到位置(703,241)
计算出200*200的位置
Nrect.left =(point.x-200);
Nrect.top =(point.y-200);
Nrect.right =(point.x+200);
Nrect.bottom =(point.y+200);
得到:
Nrect.left=503;
Nrect.top=41;
Nrect.right=903;
Nrect.bottom=441;
在回调函数中处理区域代码如下:
with=pDesc->m_pBmpInfo->bmiHeader.biWidth; //取CCD宽度1280
height=pDesc->m_pBmpInfo->bmiHeader.biHeight;//取CCD高度1024
int X_axisN=0;
int Y_axisN=0;
int num=0;
int gao=Nrect.top;
int zuo=Nrect.left;
for(int i=gao;i<gao+400;i++) {
for(int j=zuo;j<zuo+400;j++)
{
if (pDesc->m_pRawBuffer[i*with+j]>180)//
//////////
{//
if(pDesc->m_pRawBuffer[i*with+j]>180||(pDesc->m_pRawBuffer[i*with+j]>180)){
Y_axisN=Y_axisN+i;
X_axisN=X_axisN+j;
num++;
}
else
{
//
pDesc->m_pRawBuffer[i*with+j] = 10;
}
}//
else{
pDesc->m_pRawBuffer[i*with+j] = 10;//
}
}
}
X_axisN=X_axisN/num;
Y_axisN=Y_axisN/num;