网站大量收购独家精品文档,联系QQ:2885784924

代码优化技巧1761.pdf

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码优化技巧1761.pdf

1、if (bgrImg.data == NULL) 2、数组下标的重复计算 Uchar* data = bgrImg.data; for (int row_i = height - 1; row_i = 0; row_i--) { for (int col_j = width - 1; col_j = 0; col_j--) { Int index= row_i * width + col_j; int b = bgrImg.data[3 * (row_i * width + col_j) + 0]; int g = bgrImg.data[3 * (row_i * width + col_j) + 1]; int r = bgrImg.data[3 * (row_i * width + col_j) + 2]; int grayVal = (b * 30 + 150 * g + 76 * r) 8; grayImg.data[row_i * width + col_j] = grayVal; } } 4、入口参数判断不完整 int ustc_CalcAngleMag(Mat gradImg_x, Mat gradImg_y, Mat angleImg, Mat magImg) { if (gradImg_x.data == NULL ||gradImg_y.data == NULL) 5、循环内部分支优化不够 if (angle 0.0) { angle = 180 * angle / CV_PI; } else { angle = 360 + 180 * angle / CV_PI; } 6、分支优化不够 For (j = 0; j width; j += 1) int dstVal = 0; if (pixVal th) { dstVal = 255; } else { dstVal = 0; } binaryImg.data[temp1] = dstVal; 7、清零操作,应该用memset for (int i = hist_len - 1; i = 0; i--) { hist[i] = 0; } 8、searchImg 需要兼顾到周围一圈,为了便于找最小误差位置,要给周围一圈赋值为最大 //Mat searchImg(height, width, CV_32FC1); //searchImg.setTo(FLT_MAX); 9、重复计算太严重 for (int row_i = height - sub_height - 1; row_i = 0; row_i--) { for (int col_j = width - sub_width - 1; col_j = 0; col_j--) { int total_diff = 0; for (int sub_row_i = sub_height - 1; sub_row_i = 0; sub_row_i--) { for (int sub_col_j = sub_width - 1; sub_col_j = 0; sub_col_j--) { int row_index = row_i + sub_row_i; int col_index = col_j + sub_col_j; int bigImg_pix_b = colorImg.data[3 * (row_index * width + col_index) + 0];

您可能关注的文档

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档