2011-02-14 316 views

回答

132

the wikipedia article on unsharp masking: 您使用高斯平滑滤波器并从原始图像中减去平滑后的版本(以加权的方式使恒定区域的值保持不变)。

要得到frame锐化形式进入image:(两者cv::Mat

cv::GaussianBlur(frame, image, cv::Size(0, 0), 3); 
cv::addWeighted(frame, 1.5, image, -0.5, 0, image); 

的参数有需要调整自己的东西。

还有拉普拉斯锐化,你应该找到的东西,当你谷歌。

+0

有没有办法复制锐化Photoshop的结果面膜? – Royi 2014-04-27 11:11:20

+0

@Drazick你是问,因为它不能被复制?上面给出了维基百科的链接。 [digital_unsharp_masking(https://en.wikipedia.org/wiki/Unsharp_masking#Digital_unsharp_masking)是特定 – tilaprimera 2014-05-02 05:35:12

+0

@tilaprimera,我这么问是因为Photoshop的USM是“经典” USM不同。 – Royi 2014-05-02 05:37:06

-4

尝试这样的:

cv::bilateralFilter(img,9,75,75); 

您可能会发现更多的信息here

12

你可以找到一个示例代码为OpenCV Documentation

变化值约锐化使用“USM锐化”算法图像的sigmathresholdamount会得出不同的结果

// sharpen image using "unsharp mask" algorithm 
Mat blurred; double sigma = 1, threshold = 5, amount = 1; 
GaussianBlur(img, blurred, Size(), sigma, sigma); 
Mat lowContrastMask = abs(img - blurred) < threshold; 
Mat sharpened = img*(1+amount) + blurred*(-amount); 
img.copyTo(sharpened, lowContrastMask);