opencv漩涡效果

该博客介绍了如何利用OpenCV在C++11环境中,结合Qt5,通过将图像转换到极坐标系并应用特定的偏移量(如log(k*r+b)*log(k*r+b))来实现漩涡视觉效果。
摘要由CSDN通过智能技术生成
cv::remap

基本思路转换为极坐标系,然后根据r给th一个偏移量,示例给的偏移量是 log(k*r+b)*log(k*r+b)

void valueChanged(double radius,double rate) {

    this->setAlgorithm([rate_=rate,
            radius,
            this
    ](const QImage &arg)->QImage {

        if (rate_<.00000001) { return arg; }
        if (radius<.00000001) { return arg; }
        auto rate=1.0/rate_;

        try {

            cv::Mat inputMat(arg.height(),arg.width(),CV_8UC3,
                const_cast<uchar*>(arg.constBits()),
                arg.bytesPerLine());

            /*copy the image*/
            QImage ans={ arg.size(),arg.format() };
            cv::Mat outputMat(
                ans.height(),ans.width(),CV_8UC3,
                const_cast<uchar*>(ans.constBits()),
                ans.byt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值