减少/增强图像中的已知功能

时间:2017-01-25 20:35:35

标签: python-3.x opencv image-processing computer-vision mahotas

我是计算机视觉新手的微生物学学生,所以任何帮助都将受到极大的赞赏。

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

我想在RBG刻度上将噪音(黑色空间)降低到0并增强绿色空间。我最初在OpenCV中编写了一个for循环,其阈值限制改变了每个像素,但我知道有更好的方法。

以下是我在原始图片的照片商店中所做的一个例子。

Original Imageenhanced Image

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

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以查看histogram equalization。这将强调绿色并减少黑色范围。有一个OpenCV教程here。之后,您可以尝试最佳产生细菌的thresholding mechanisms

答案 1 :(得分:1)

使用TensorFlow:

  1. 创建您自己的数据集,其中包含细菌及其位置的图像,这些图像存储在随附的文本文件中(数据集越大越好)。
  2. 创建正负图像集
  3. 使用您的图片更新默认的TensorFlow示例
  4. 确保你有一堆卷积层。
  5. 训练和测试。
  6. TensorFlow非常适合此类任务,您无需担心不同的强度级别。

答案 2 :(得分:0)

我最初尝试直方图均衡但没有得到预期的结果。所以我使用自适应阈值使用均值过滤器

th = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV, 3, 2) enter image description here

然后我应用中值过滤器

median = cv2.medianBlur(th, 5) enter image description here

最后,我将椭圆内核形态闭合应用于

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

THIS PAGE会帮助您根据需要修改此结果。