2011-02-14 314 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);