消除点和线之类的图像噪音

时间:2018-10-31 04:23:29

标签: python opencv

我是OpenCV和Python的新手,在去除输入图像中的噪点时遇到了问题。我只想提取WBC的核,所以我使用加法突出显示了核,并使用阈值去除了图像中的RBC。我成功去除了RBC,但没有去除血小板,并且边界上出现了一些线条。我还尝试使用膨胀,腐蚀,打开和关闭对图像进行降噪处理,但原子核被破坏了。

这是我的代码:

img = cv2.imread('1.bmp')
img_2 = cv2.imread('1.bmp')
input_img = cv2.addWeighted(img, 0.55, img_2, 0.6, 0)
retval, threshold = cv2.threshold(input_img, 158, 255, cv2.THRESH_BINARY)
threshold = cv2.cvtColor(threshold, cv2.COLOR_BGR2GRAY)
retval2, threshold2 = cv2.threshold(threshold, 0, 255, 
cv2.THRESH_BINARY+cv2.THRESH_OTSU)
blur2 = cv2.medianBlur(threshold2,5)

这是原始图片:

enter image description here

阈值处理后:

enter image description here

1 个答案:

答案 0 :(得分:1)

如果突出显示的WBC的核总是在阈值化之前最大的轮廓,我建议使用$("#table-body").hide(); $("#moreInfo").on("click", function() { $("#table-body").toggle(); }); 单独存储它并去除较小的斑点,如下所示:

findContours

我的代码是C ++,但是您可以找到python示例:How to detect and draw contours using OpenCV in Python?