Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Implementing a kernel convolution

Hi guys.. I am felling a bit stupid asking this question, but I can't seem to come around the issue. I am trying to implement a contra harmonic filter using the equation given here

http://masters.donntu.org/2007/kita/gett/library/eng.htm

But I seem to be stuck at implementing the Kernel part of the filter..

The way i've coded until now is using 4 for - loop , first two to inter ate through the image, and second two to iterate through the kernel..

Mat ContraHarmonic(Mat src, int kernel)
{
    Mat output = src.clone();

    for(int x = 0; x < src.rows; x++)
    {
        for(int y = 0; y < src.cols; y++)
        {
            for(int subX = 0; subX < kernel; subX++)
            {
                for(int subY = 0; subY < kernel ; subY++)
                {
                    output.at<uchar>(x-1+subX,y-1+subY) = 255;
                }
            }
        }
    }
    imshow("output",output);
    waitKey(0);
    return output;
}

I know that the formula isn't right at the moment.. But When run this piece of code.. I do not get an output.. I am bit unsure whether I am doing this right, or I am missing some thing..

Implementing a kernel convolution

Hi guys.. I am felling a bit stupid asking this question, but I can't seem to come around the issue. I am trying to implement a contra harmonic filter using the equation given here

http://masters.donntu.org/2007/kita/gett/library/eng.htm

But I seem to be stuck at implementing the Kernel part of the filter..

The way i've coded until now is using 4 for - loop , first two to inter ate interate through the image, and second two to iterate through the kernel..

Mat ContraHarmonic(Mat src, int kernel)
{
    Mat output = src.clone();

    for(int x = 0; x < src.rows; x++)
    {
        for(int y = 0; y < src.cols; y++)
        {
            for(int subX = 0; subX < kernel; subX++)
            {
                for(int subY = 0; subY < kernel ; subY++)
                {
                    output.at<uchar>(x-1+subX,y-1+subY) = 255;
                }
            }
        }
    }
    imshow("output",output);
    waitKey(0);
    return output;
}

I know that the formula isn't right at the moment.. But When run this piece of code.. I do not get an output.. I am bit unsure whether I am doing this right, or I am missing some thing..

Implementing a kernel convolution

Hi guys.. I am felling a bit stupid asking this question, but I can't seem to come around the issue. I am trying to implement a contra harmonic filter using the equation given here

http://masters.donntu.org/2007/kita/gett/library/eng.htm

But I seem to be stuck at implementing the Kernel part of the filter..

The way i've coded until now is using 4 for - loop , first two to interate through the image, and second two to iterate through the kernel..

Mat ContraHarmonic(Mat src, int kernel)
{
    Mat output = src.clone();

    for(int x = 0; x < src.rows; x++)
    {
        for(int y = 0; y < src.cols; y++)
        {
            for(int subX = 0; subX < kernel; subX++)
            {
                for(int subY = 0; subY < kernel ; subY++)
                {
                    output.at<uchar>(x-1+subX,y-1+subY) = 255;
                }
            }
        }
    }
    imshow("output",output);
    waitKey(0);
    return output;
}

I know that the formula isn't right at the moment.. But When run this piece of code.. I do not get an output.. I am bit unsure whether I am doing this right, or I am missing some thing.. How do i detect whether the kernel is within the image, and not partly outside?