毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

vc对固定区域图像进行处理代码探讨

更新时间:2012-11-29:  来源:毕业论文

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;

经过测试,图像在200*200区域内,鼠标点击中心与点中心偏一点,显示的灰度值计算有变化,按道理只要在200*200范围内,图像计算出来的数值基本上是一样的,是不是代码没有写对呢?谢谢大家

怎么不用openCV,里面直接由截图的函数,图像大小可以自己设定

鼠标坐标是屏幕坐标,要转化为客户区的坐标:
SCreenToClient(point);

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。