为什么形态开放会取代我的形象?

时间:2017-04-07 19:18:05

标签: python opencv

我有一张显微镜照片。我想量化细胞nucli的数量(蓝色椭圆形 - 见图片原始图像)

为此我使用Python 2.7和OpenCV3。

首先,我在BGR中加载图像,然后提取蓝色图层

import cv2
import numpy as np

img = cv2.imread('image.jpg',1)
img_gray = img[:,:,0]

接下来,我制作了BINARY图像,然后我应用了形态开口,填充和测量轮廓(参见图片:GRAY-在阈值处理后,OP-n:打开n次后,'填充孔'并测量轮廓。

_, img_thres =  cv2.threshold(img_gray, 40, 255, cv2.THRESH_BINARY)

对于iterations = 2,请参见上面板(OP-2)

kernel = np.ones((2,2),np.uint8)
img_op = cv2.morphologyEx(img_thres, cv2.MORPH_OPEN, kernel, iterations =2)

对于迭代次数= 20,请参阅底部面板(OP-20)

img_op = cv2.morphologyEx(img_thres, cv2.MORPH_OPEN, kernel, iterations =20)

为简单起见,我正在滑动填充和轮廓代码。

您可以看到轮廓如何移动,它们在开始变换期间向正确的比例转换为迭代次数。

打开应删除背景像素,但不会移动像素。到底是怎么回事? Opening Issues

**** **** EDIT

  

没有验证它,但也许是因为你的内核大小合适?   尝试一个奇怪的内核大小,请像3或5. - Micka

你是对的! 看图片(开放迭代= 20):

enter image description here

0 个答案:

没有答案