1

我是计算机视觉的微生物学学生,因此我们将不胜感激任何帮助。

这个问题涉及我试图分析的显微镜图像。我想要完成的目标是对图像中的细菌进行计数,但我需要首先对图像进行预处理,以增强任何荧光不太亮的细菌。我曾考虑过使用几种不同的技术,例如增强对比度或锐化图像,但这并不是我所需要的。

我想在 RBG 尺度上将噪声(黑色空间)减少到 0 并增强绿色空间。我最初是在 OpenCV 中编写一个带有阈值限制的 for 循环来更改每个像素,但我知道有更好的方法。

这是我在原始图像与我想要的照片商店中所做的示例。

原始图像增强图像

我需要学习在 python 环境中执行此操作,以便我可以自动化此过程。正如我所说,我是新手,但我熟悉 python 的 OpenCV、mahotasnumpy等,所以我并不完全依赖于特定的包。我对这些技术也很陌生,所以即使你只是指出我正确的方向,我也愿意接受。

谢谢!

4

3 回答 3

2

你可以看看histogram equalization。这将强调绿色并减少黑色范围。这里有一个 OpenCV 教程。之后,您可以尝试不同的阈值机制,以最好地产生细菌。

于 2017-01-25T21:59:26.577 回答
1

使用 TensorFlow:

  1. 使用存储在随附文本文件中的细菌图像及其位置创建您自己的数据集(数据集越大越好)。
  2. 创建一组正面和负面的图像
  3. 使用您的图像更新默认 TensorFlow 示例
  4. 确保你有一堆卷积层。
  5. 训练和测试。

TensorFlow 非常适合此类任务,您无需担心不同的强度级别。

于 2017-01-26T01:48:32.270 回答
0

我最初尝试了直方图均衡,但没有得到想要的结果。所以我使用了使用均值滤波器的自适应阈值

th = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV, 3, 2) 在此处输入图像描述

然后我应用了中值滤波器

median = cv2.medianBlur(th, 5) 在此处输入图像描述

最后我用椭圆核应用了形态闭合:

k1 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
dilate = cv2.morphologyEx(median, cv2.MORPH_CLOSE, k1, 3)

此页面将帮助您根据需要修改此结果。

于 2017-01-26T07:55:53.353 回答