OpenCV Unsharp Mask Java实现

时间:2016-01-13 15:22:34

标签: java opencv image-processing implementation

我正在尝试实现我在here

找到的USM锐化算法

编辑:这是算法。

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);

我卡在这里:

//  Mat lowContrastMask = abs(img - blurred) < threshold;

    Mat lowContrastMask = new Mat();
    Core.absdiff(source, destination, lowContrastMask);

我不知道如何实现“&lt; threshold”部分。我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用threshold

Imgproc.threshold(lowContrastMask, lowContrastMask, 0, thresh, Imgproc.THRESH_BINARY_INV)