HTML5技术

我从半年前项目中的代码看到了什么? - ptsp(3)

字号+ 作者:H5之家 来源:H5之家 2016-10-27 14:00 我要评论( )

这也是我今后在设计程序结构的时候需要考虑的.如何设计数据存储的结构使得可以迅速找到不同数据之间的关系,这里像素坐标和其灰度值使用了coorInfo_s结构存储,但是还可以和变化值联系在一起,类似的考虑不周到还有许

  这也是我今后在设计程序结构的时候需要考虑的.如何设计数据存储的结构使得可以迅速找到不同数据之间的关系,这里像素坐标和其灰度值使用了coorInfo_s结构存储,但是还可以和变化值联系在一起,类似的考虑不周到还有许多.

  这里还有一个问题是变量的注释,应该明确指出该变量的含义,而不是...哈!但是现在这个问题我后来看过他人几个项目后就意识到了...

  

  这里用到了一个Bresenham画直线算法,记一下吧.

  (计算从_pointA 到 _pointB之间的像素点.将其像素坐标和像素值push_back进_coorInfoVec中)

1 void CCFindInterCircle::calInfoOfTwoPoints(Point2i & _pointA,Point2i & _pointB,vector<coorInfo_s>& _coorInfoVec){ dx = _pointB.x - _pointA.x; 4 int dy = _pointB.y - _pointA.y; uy = ((dy > x = _pointA.x, y = _pointA.y; eps;eps = 0;dx = abs(dx); dy = abs(dy); 12 13 coorInfo_s coorInfo; (dx > dy) 16 { 17 for (x = _pointA.x; x != _pointB.x+ux; x += ux) 18 { 19 coorInfo.setValue(x,y,this->processImage.at<uchar>(y,x)); 20 _coorInfoVec.push_back(coorInfo); 21 eps += dy; 22 if ((eps << 1) >= dx) 23 { 24 y += uy; eps -= dx; 25 } 26 } 27 } { 30 for (y = _pointA.y; y != _pointB.y+uy; y += uy) 31 { 32 coorInfo.setValue(x,y,this->processImage.at<uchar>(y,x)); 33 _coorInfoVec.push_back(coorInfo); 34 eps += dx; 35 if ((eps << 1) >= dy) 36 { 37 x += ux; eps -= dy; 38 } 39 } 40 } 41 }

 

 

总结:

   

 

至此,这个被我称为"FindInterCircle"的小模块我就回顾完了,今年还有新项目 加油吧!!!!

 失败会累积,而成功会消失.

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 记一次擦窗机器人项目的拯救 - NeuralWiki

    记一次擦窗机器人项目的拯救 - NeuralWiki

    2016-10-16 17:00

  • Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现 - Fonour

    Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的

    2016-09-26 14:00

  • 总结一下公司项目使用各种较新的前端技术和 Api 的一些经验。 - B1ncer

    总结一下公司项目使用各种较新的前端技术和 Api 的一些经验。 - B1nc

    2016-09-02 17:00

  • 快速入手别人的安卓项目??你信我,不会想错过这个~~~ - 南尘

    快速入手别人的安卓项目??你信我,不会想错过这个~~~ - 南尘

    2016-08-05 12:00

网友点评
h