【发布时间】:2019-09-23 10:43:14
【问题描述】:
我有一堆细胞图像,我想提取细胞的位置。我目前正在使用圆形霍夫变换,它工作正常,但经常搞砸。想知道人们是否有任何指示。抱歉,这不是一个专门关于软件的问题——它是如何在图像分割问题中获得更好的性能。
我在 skimage 中尝试了其他一些东西,但效果有限,例如轮廓查找、边缘检测和活动轮廓。没有什么开箱即用的效果很好,尽管可能只是我没有正确处理参数。我没有做过太多的图像分割,我真的不知道这些东西是如何工作的,也不知道最好的方法是什么。
这是我目前使用的代码,它将灰度图像作为一个 numpy 数组并将单元格查找为一个圆圈:
import cv2
import numpy as np
smallest_dim = min(img.shape)
min_rad = int(img.shape[0]*0.05)
max_rad = int(img.shape[0]*0.5) #0.5
circles = cv2.HoughCircles((img*255).astype(np.uint8),cv2.HOUGH_GRADIENT,1,50,
param1=50,param2=30,minRadius=min_rad,maxRadius=max_rad)
circles = np.uint16(np.around(circles))
x, y, r = circles[0,:][:1][0]
【问题讨论】:
-
一些预处理可能会有所帮助。请注意,一般来说,所有计算机视觉问题都是困难的,并且在大多数情况下,成功的解决方案都是经过高度微调和依赖于应用程序的。没有灵丹妙药,还没有
-
链接应该现在可以使用
标签: python image-processing image-segmentation cv2 hough-transform