вычисление новых значений для оси х - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь реализовать свертку 2.

Я пытаюсь вычислить новые значения x и y для выходного значения копии в opencv, а затем после математических вычислений копирую изображение в исходный вывод образ. Когда я компилирую и смотрю новое выходное изображение, никаких изменений не было сделано. Правильно ли я вычисляю новые значения для осей x и y?

Может ли кто-нибудь мне помочь? Заранее спасибо.

convolution(const Mat &input, Mat &output, const Mat &kernel) {

    Mat copy_of_input  = (Mat_<float>(3,3));
    int border = 1;
    Mat copy_out;
    copyMakeBorder(input, copy_of_input, border, border,border,border, BORDER_REPLICATE);

    for(int x=0; x < copy_of_input.rows; ++x)              
    {
        for(int y=0; y < copy_of_input.cols; ++y)          
        {
            for(int kx=0; kx < kernel.rows; ++kx)     
            {  
                for(int ky=0; ky < kernel.cols; ++ky) 
                { 
                    x = copy_of_input.at<int>(x,y)*(y+ky-((kernel.rows-1)/2))*kernel.at<float>(ky,kx);  
                    //new x value for copy_of_input

                    y =  copy_of_input.at<int>(x,y)*(x+kx-((kernel.cols-1)/2))*kernel.at<float>(ky,kx);
                    //new y value for copy_of_input                
                }
            }
        }
    }
    copy_of_input.copyTo(output);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...