Para hacer un 3×3 filtro de paso alto de kernel en OpenCV, yo uso el siguiente código (para Android):

Mat kernel = new Mat(3, 3, CvType.CV_32FC1);
float[] data = {0, -1, 0, -1, 4, -1, 0, -1, 0};
kernel.put(0, 0, data);

Yo entonces filtro usando el kernel:

Imgproc.filter2D(image, image, -1, kernel);

Hay una manera de generar automáticamente la más grande de paso alto de granos en OpenCV?

InformationsquelleAutor | 2013-03-22

2 Comentarios

  1. 5

    Hay un número de diferentes filtros de paso alto implementado en opencv. El que se haya establecido para su ejemplo de ello es el Laplaciano:

    0  1  0
    1 -4  1
    0  1  0
    

    Puede utilizar el Laplaciano función de opencv que tiene la ksize parámetro. Usted debe ser capaz de aplicar mayor Laplaciano núcleos mediante la manipulación de ese parámetro.

    Si estás interesado en otros filtros de paso alto, opencv tiene Astuto, Sobel, etc.

  2. 1

    Mientras yo voy a usar Safir la respuesta, me hizo encontrar una función getDerivKernels() que parece generar el kernel matrices de sí mismos, aunque sólo para Sobel o Scharr filtros y sólo en particular tamaños.

Dejar respuesta

Please enter your comment!
Please enter your name here