zoukankan      html  css  js  c++  java
  • OpenCV中Mat的列向量归一化

    OpenCV中Mat的列向量归一化

    http://blog.csdn.net/shaoxiaohu1/article/details/8287528

     

    OpenCV中Mat的列向量归一化

    标签: OpenCV Mat 列向量 归一化
     分类:
     
     

            OpenCV 中虽然有normalize这个函数,但是却没有Matlab中normc这样只对Matlab中各列向量的归一化函数。好在我们可以多写几段代码来实现这种功能。

    代码如下:

    [cpp] view plain copy
     
    1. double a[6] = {1, 2, 3, 4, 5, 6};  
    2. Mat aa(2, 3, CV_64F, a);  
    3.       
    4. Mat temp1, temp2, temp3;  
    5. pow(aa, 2, temp1);  
    6. reduce(temp1, temp2, 0, CV_REDUCE_SUM); // calculate sum of each col  
    7. sqrt(temp2, temp2);   
    8. repeat(temp2, aa.rows, 1, temp3);  
    9. divide(aa, temp3, aa);  

            其中 reduce函数是将计算各列向量的元素之和,相当于Matlab中的sum;repeat 函数是将temp2扩展为与aa相同大小的矩阵,相当于Matlab中的repmat。

    实现各行向量的归一化,是同样的道理。

    PS: OpenCV函数中,声明 src 与 dst 的变量要尽可能地不同,除了那些进行点计算的函数(如 add, divide,normalize等,这是我暂时得到的结论),在其它函数中如果src与dst变量名相同,得到的结果很有可能是错误的

    OpenCV还有很多不太清楚的地方,欢迎各位的指点和讨论。

  • 相关阅读:
    NOIP simulation
    NOIP2013
    BZOJ 4176 Lucas的数论
    BZOJ 3512 DZY Loves Math IV
    BZOJ 3994 Sum
    BZOJ 4174 tty的求助
    BZOJ 3561 DZY Loves Math VI
    BZOJ 2508 简单题/BZOJ 3775 点和直线
    FTR #1 百步穿杨
    BZOJ 4407 于神之怒加强版
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5230013.html
Copyright © 2011-2022 走看看