【问题标题】:Gabor filter (wavelets)Gabor 滤波器(小波)
【发布时间】:2018-09-25 09:57:03
【问题描述】:

我是 OpenCV 和 gabor 滤波器的新手,我只想得到这样的 gabor 小波:

我在 Java 中使用这个 OpenCV 代码:

double sigma_bar = 40;
double theta_bar = 0.5;
double lambda_bar = 11;
double gamma_bar = 100;
double psi_bar = 90;
double kernel_size = 150;
Mat intermediate = new Mat(150, 150,CvType.CV_8U);
Mat output = Mat.zeros(150, 150, CvType.CV_32F);
Mat gabor_mat = Imgproc.getGaborKernel(new Size(kernel_size, kernel_size),sigma_bar / 10., theta_bar / 180. * Math.PI,lambda_bar, gamma_bar / 100., psi_bar / 180. * Math.PI, CvType.CV_32F);
Imgproc.filter2D(intermediate, output, -1, gabor_mat);
Bitmap temp = Bitmap.createBitmap(intermediate.cols(),      intermediate.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(output, temp);
ImageView gabor = (ImageView) findViewById(R.id.gabor);
gabor.setImageBitmap(temp);

并得到这样的输出:

我想我不需要申请Imgproc.filter2D,但没有它我的应用程序会因为CvTypes 而崩溃,当我试图通过转换类型来解决这个问题时,我会得到白屏。

谁能帮我得到这个 gabor 小波?

【问题讨论】:

    标签: android opencv


    【解决方案1】:

    您只需要:

    1. normalize 带有NORM_MINMAX 的gabor 过滤器,使值适合[0,255] 范围内

    2. 使用convertTo将标准化图像转换为CV_8U(来自CV_64F

    3. 结果图像将是单通道灰度图像。

    我不能给你 Java 代码来做到这一点,但我认为这个 C++ sn-p 仍然有用,因为基本上存在到 Java 的 1 对 1 转换。然后您需要将参数提供给getGaborKernel 以获得您需要的shape

    这是我得到的结果:

    代码:

    #include <opencv2/opencv.hpp>
    using namespace cv;
    
    int main()
    {
        Mat kernel = getGaborKernel(Size(151, 151), 10, 0.1, 10, 1, CV_PI/2.0);
        // kernel is of type CV_64F
    
        Mat normalized;
        normalize(kernel, normalized, 0, 255, NORM_MINMAX);
        // normalized is of type CV_64F, but with values in [0, 255]
    
        Mat converted;
        normalized.convertTo(converted, CV_8U, 1, 0);
        // converted is of type CV_8U
    
        imshow("Gabor", converted);
        waitKey();
    
        return(0);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 2011-07-04
      • 2023-03-19
      • 2014-07-14
      • 1970-01-01
      • 2012-02-14
      • 2015-10-24
      • 2019-12-02
      • 2014-08-12
      相关资源
      最近更新 更多