Sharpening an image using emgu I have c# desktop application and I am using emgu framework as a wrapper for OpenCV.

I am trying to sharpen an image because the input images are not great.

I tired a technique I found via searches that suggest from the original image:

I take a copy and blur it. 
I then take another copy of the original and invert it.
I then merge the 2 new images together.
I then finally invert that merged image.

I have done all that but the image pretty much looks the same.

Is this the right approach?

I can post my code if need be - I used Aforge to quickly test this approach though.

UPDATE:
To answer my own question I used this:

            Image&lt;Bgr, byte&gt; image = new Image&lt;Bgr, byte&gt;(@"D:\20140320022038047.jpg");
            Image&lt;Bgr, byte&gt; image2 = new Image&lt;Bgr, byte&gt;(@"D:\20140320022038047.jpg");
            Emgu.CV.CvInvoke.cvSmooth(image, image2, SMOOTH_TYPE.CV_GAUSSIAN, 5, 5, 9, 9);
            Emgu.CV.CvInvoke.cvAddWeighted(image, 1.5, image2, -0.5, 0, image);
I know this answer is very late but I think this question worth an answer 

The algorithm you used goes as follows: 


Blur the original image using the Gaussian filter with given Mask Size &amp; Sigma
Subtract the blurred image from the original (result is called Mask) to eliminate background and get the edges regions
Add a weighted portion from the mask to the original image by multiplying the Mask (the edges only) by K to enhance edges regions  


K: User input (If K = 1 Unsharp, If K > 1 Highboost) 

Mask(x,y) = Orig(x,y) – Blurred(x,y)

Result(x,y) = Orig(x,y) + K × Mask(x,y)

Here is the code: 

public static Image&lt;Gray, byte&gt; Sharpen(Image&lt;Gray, byte&gt; image, int w, int h, double sigma1, double sigma2, int k)
    {
        w = (w % 2 == 0) ? w - 1 : w;
        h = (h % 2 == 0) ? h - 1 : h;
        //apply gaussian smoothing using w, h and sigma 
        var gaussianSmooth = image.SmoothGaussian(w, h, sigma1, sigma2);
        //obtain the mask by subtracting the gaussian smoothed image from the original one 
        var mask = image - gaussianSmooth;
        //add a weighted value k to the obtained mask 
        mask *= k;
        //sum with the original image 
        image += mask;
        return image;
    }


I think your problem is that you didn't subtract the smoothed image from the original image, anyway I hope this help