簡體   English   中英

使用查找表/級別映射(OpenCV)平滑輪廓

[英]Smoothing a contour with a lookup table / levels mapping (OpenCV)

我正在嘗試平滑由OpenCV's drawContours()方法繪制的鋸齒狀輪廓。 我在輪廓上應用了高斯模糊,然后嘗試使用查找表來映射像素強度。

但是,我不知道在查詢表中使用什么值。 現在,我只是在猜測任意數字。 我整理了一個小模型:前兩個圖像直接來自OpenCV。 最后一張圖像是通過Photoshop的色階功能獲得的。 如您所見,它更加平滑。

我如何知道在查詢表中使用什么值?

std::vector<char> lut(256);
for (int i = 0; i <= 255; ++i) {

    if(i >= 75) lut[i] = 255;
    else if (i <= 25) lut[i] = 0;
    else if (i < 75 && i > 25) lut[i] = i;


}

cv::LUT(contoursOverlay, lut, contoursOverlay);

在此處輸入圖片說明

您是否認為僅應用了膨脹濾鏡(以及以后可能會模糊): http : //docs.opencv.org/doc/tutorials/imgproc/erosion_dilatation/erosion_dilatation.html

這可能是更簡單,更好的解決方案。 就您而言,我懷疑在這種情況下是否有良好的做法。 我不確定這是個好解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM