【发布时间】: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 小波?
【问题讨论】: