【发布时间】:2012-10-17 02:20:16
【问题描述】:
在 OpenCV 中,我检索了一个用于图像处理的 Gabor 内核,它是一个 9:9 矩阵,使用:
Imgproc.getGaborKernel(...)
我有一个原始图像的灰度矩阵。 (我什至不确定内核应该是图像的大小还是只是一小段,我相当确定小内核)
如何对两者进行卷积,得到卷积的输出?
我正在尝试组合一个 Gabor 小波滤波器用于边缘检测。
编辑:就矩阵的卷积而言,它看起来像 opencv "filter2d" 方法是用来做它的,并且可以在 Android OpenCV api 的 Imgproc 类中找到。
但是,当我进行卷积并将其放到屏幕上时,它只是一个黑色图像。
Size size = new Size(9,9);
Mat gaborKernel = Imgproc.getGaborKernel(size, 3.0, -Math.PI/4, Math.PI, 10.0, Math.PI*0.5, CvType.CV_64F);
Imgproc.filter2D(intermediate, output, -1, gaborKernel);
Bitmap temp = Bitmap.createBitmap(intermediate.cols(), intermediate.rows(), Config.ARGB_8888);
Utils.matToBitmap(output, temp);
我做了一个系统输出来查看这些值,所有值都非常小,如下所示。
【问题讨论】:
-
一些代码会有所帮助,还有 Gabor 内核本身。
-
你能把你得到的 10x10 gabor 内核贴出来吗?
标签: android image-processing opencv matrix