【问题标题】:Image retina log polar sampling using opencv使用opencv进行图像视网膜对数极坐标采样
【发布时间】:2013-02-25 06:47:40
【问题描述】:

对于我的部分项目,我需要在图像上应用对数极坐标变换。我发现OpenCV中有一个类叫做:

cv::LogPolar_Interp 和 cv::LogPolar_Adjacent() 用于此目的。

问题是我不知道如何使用它们来生成像这样的转换图像

我玩过它的参数,但我无法得到想要的结果。

这是我的尝试:

    cv::LogPolar_Interp *LogPolar=new cv::LogPolar_Interp(inputFrame.cols,inputFrame.rows,cv::Point2i(inputFrame.cols/2,inputFrame.rows/2),120,20,CV_INTER_LINEAR, 1,117,1);

    logPolar_out=LogPolar->to_cartesian(inputFrame);

有谁知道我怎样才能得到这个。 谢谢

【问题讨论】:

    标签: opencv image-processing computer-vision polar-coordinates


    【解决方案1】:

    您应该首先将输入图像映射到皮层坐标,然后将其重新映射到笛卡尔坐标。 如果您想利用相邻映射,您还必须将图像转换为灰度。

    通过将代码更改为以下代码,您可能会得到所需的内容。

        cv::cvtColor(inputFrame,inputFrame,CV_BGR2GRAY);
    
        cv::LogPolar_Adjacent *logP=new cv::LogPolar_Adjacent(inputFrame.cols,inputFrame.rows,cv::Point2i(inputFrame.cols/2,inputFrame.rows/2));
    
        logPolar_out=logP->to_cortical(inputFrame);
        logPolar_out=logP->to_cartesian(logPolar_out);
        cv::imshow("Log Polar output",logPolar_out);
        cv::imshow("Log Polar input",inputFrame);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 2015-08-08
      • 1970-01-01
      相关资源
      最近更新 更多