1. A method of reducing noise in an image, the method comprising: setting a plurality of pixels in the image as a reference patch, and setting target patches in the image corresponding to the reference patch, the reference patch having a center pixel; determining a similarity within the reference patch between the center pixel in the reference patch and nearby pixels in the reference patch; adaptively setting a kernel based on the similarity within the reference patch; determining a similarity between the reference patch and the target patches using the kernel; and removing noise from the center pixel in the reference patch based on pixel values of center pixels in the target patches by applying, a weight to the center pixels of the target patches based on the similarity between the reference patch and the target patches.