gpt4 book ai didi

python - 使用Python从图片中查找彩色形状的数量

转载 作者:太空狗 更新时间:2023-10-29 17:29:54 26 4
gpt4 key购买 nike

我的问题与从图片中识别颜色有关。在做微生物学时,我需要计算用显微镜相机拍摄的照片上存在的细胞核数量。我使用 GIMP 用红色点标记细胞核。现在我需要用 python 编写一个脚本,给定一个图像,它会告诉我有多少个红点。除了点之外,图片中没有红色。

我想到了一个相当复杂的解决方案,这可能不是最好的解决方案:拍摄一张照片并开始遍历像素检查每个像素的颜色。如果是红色,检查所有 8 个最近的像素,再次递归检查每个红色的邻居,直到找不到更多相邻的红色像素。然后将核数加一并标记遍历的像素,这样它们就不会被再次迭代。然后从停止的地方继续迭代。看起来有点沉重,所以我想我会问,也许有人已经更优雅地处理过类似的问题。

问候,砂光机

最佳答案

计数细胞核

代码改编自Python Image Tutorial .从教程中输入带有细胞核的图像:

nuclei

#!/usr/bin/env python
import scipy
from scipy import ndimage

# read image into numpy array
# $ wget http://pythonvision.org/media/files/images/dna.jpeg
dna = scipy.misc.imread('dna.jpeg') # gray-scale image


# smooth the image (to remove small objects); set the threshold
dnaf = ndimage.gaussian_filter(dna, 16)
T = 25 # set threshold by hand to avoid installing `mahotas` or
# `scipy.stsci.image` dependencies that have threshold() functions

# find connected components
labeled, nr_objects = ndimage.label(dnaf > T) # `dna[:,:,0]>T` for red-dot case
print "Number of objects is %d " % nr_objects

# show labeled image
####scipy.misc.imsave('labeled_dna.png', labeled)
####scipy.misc.imshow(labeled) # black&white image
import matplotlib.pyplot as plt
plt.imsave('labeled_dna.png', labeled)
plt.imshow(labeled)

plt.show()

输出

Number of objects is 17 

labeled nuclei

关于python - 使用Python从图片中查找彩色形状的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com