Умножьте CvMat * и число - PullRequest
1 голос
/ 29 июня 2011

Я работаю с некоторыми фильтрами в OpenCV и не знаю, как умножить число (1/5) в этом примере

CvMat* kernel=0; 

    IplImage* dst = cvCreateImage(cvGetSize( entrada ), IPL_DEPTH_8U, 3);

    kernel = cvCreateMat(3, 3,CV_32FC1);
    cvSet2D( kernel, 0, 0, cvRealScalar(1));
    cvSet2D( kernel, 0, 1, cvRealScalar(1));
    cvSet2D( kernel, 0, 2, cvRealScalar(1));
    cvSet2D( kernel, 1, 0, cvRealScalar(1));
    cvSet2D( kernel, 1, 1, cvRealScalar(2));
    cvSet2D( kernel, 1, 2, cvRealScalar(1));
    cvSet2D( kernel, 2, 0, cvRealScalar(1));
    cvSet2D( kernel, 2, 1, cvRealScalar(1));
    cvSet2D( kernel, 2, 2, cvRealScalar(1));

    // Matriz utilizada para el filtrado paso alto
    // 1 1 1
    // 1 2 1
    // 1 1 1

    cvFilter2D(entrada, dst, kernel, cvPoint(-1,-1));

1 Ответ

1 голос
/ 29 июня 2011

Как насчет cvScale(src, dst, scale), где scale - число, с какой матрицей вы хотите его умножить. Если вы хотите умножить его на ядро, как насчет простой инициализации ядра умноженными значениями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...