Opencv数据类型(四):复数Complex类

1、共轭复数介绍

摘自 百度百科 复数介绍https://baike.baidu.com/item/%E5%A4%8D%E6%95%/254365?fr=aladdin
共轭复数,两个实部相等,虚部互为相反数的复数互为共轭复数(conjugate complex number)。当虚部不为零时,共轭复数就是实部相等,虚部相反,如果虚部为零,其共轭复数就是自身(当虚部不等于0时也叫共轭虚数)。复数z的共轭复数记作z(上加一横),有时也可表示为Z*。同时, 复数z(上加一横)称为复数z的复共轭(complex conjugate)。

2、Opencv复数类介绍

Opencv中的复数类与 STL中的复数类模板 complex<> 不一样,但是与之兼容,可以相互转换.
最大的区别在于成员函数的获取, STL中是通过成员函数 real()和image()来获取,而在Opencv中,是通过成员变量re和im获取.

template<typename _Tp> class Complex
{
public:

    //! default constructor
    Complex();
    Complex( _Tp _re, _Tp _im = 0 );

    //! conversion to another data type
    template<typename T2> operator Complex<T2>() const;
    //! conjugation
    Complex conj() const;

    _Tp re, im; //< the real and the imaginary parts
};

3、举例

int main() {
    cv::Complex<float> z1(2.0,4.5);
    cv::Complex<float> z2(3.0,4.0);
    z2 += z1;

    std::cout << z1.re << " " <<z1.im << std::endl; // cout 2  4.5
    std::cout << z2.re << " " <<z2.im << std::endl; // cout 5  8.5
    std::cout << z1.conj().re << " " << z1.conj().im << std::endl; // 2  -4.5,输出共轭复数

    std::cout << "hello world" << std::endl;
    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值