- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个细胞的二值图像。我想用 python 单独分离这些单元格。每个单元格将保存在图像中。例如,我有 1000 个单元格,那么输出将是 1000 个图像,每个图像包含 1 个单元格。目前,我使用两种方式获取,但输出错误
from skimage.morphology import watershed
from skimage.feature import peak_local_max
from skimage import morphology
import numpy as np
import cv2
from scipy import ndimage
from skimage import segmentation
image=cv2.imread('/home/toanhoi/Downloads/nuclei/9261_500_f00020_mask.png',0)
image=image[300:600,600:900]
# First way: peak_local_max
distance = ndimage.distance_transform_edt(image)
local_maxi = peak_local_max(distance, indices=False, footprint=np.ones((3, 3)), labels=image)
markers = morphology.label(local_maxi)
labels_ws = watershed(-distance, markers, mask=image)
markers[~image] = -1
labels_rw = segmentation.random_walker(image, markers)
cv2.imshow('watershed',labels_rw)
cv2.waitKey(5000)
# Second way way: using contour
_,contours,heirarchy=cv2.findContours(image,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(image,contours,-1,(125,125,0),1)
cv2.imshow('contours',image)
cv2.waitKey(5000)
最佳答案
可以通过查找二值图像中的连通分量,使用 scikit-image morphology 的 label()
函数执行相同的操作。虽然找到的单元格数量是 421。 形态学
操作,如腐 eclipse /膨胀/关闭/打开
也可用于预处理输入图像并获得所需的输出。
from skimage import morphology as morph
from skimage.io import imread, imsave
from skimage.color import rgb2gray
import numpy as np
import matplotlib.pyplot as plt
im = rgb2gray(imread('sLUel.png'))
#im = (im > 0).astype(np.uint8)
#labeled = morph.label(morph.binary_opening(im, selem=morph.disk(radius=2)), connectivity=2)
labeled = morph.label(im, connectivity=2)
print(len(np.unique(labeled)))
for i in np.unique(labeled)[1:]: # skip the first component since it's the background
im_obj = np.zeros(im.shape)
im_obj[labeled == i] = 1
imsave('sLUel_{:03d}.png'.format(i), im_obj)
plt.figure(figsize=(20,10))
plt.subplot(121), plt.imshow(im), plt.axis('off'), plt.title('original binary image', size=15)
plt.subplot(122), plt.imshow(labeled, cmap='spectral'), plt.axis('off'), plt.title('connected components (radius 2)', size=15)
plt.show()
输出如下
这里是识别和分离的细胞:
关于python-3.x - 我怎样才能从二进制图像中分离出细胞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333160/
我想知道是否有任何方法可以将单元格“提供”给 Google 电子表格中的某人?我有一个电子表格,任何人都可以编写他们想要的内容,任何人都可以编辑他们想要的内容。我想添加一个功能,使得只有单元格的“作者
我如何根据一个输入的最大长度设置单元格的自动调整大小。 using (rng = workSheet.Cells["A1:G1"]) { rng.Style.Font.Bold = true;
如果我想在 Objective-C 中创建一个 TableView ,每个单元格都以不同的方式定制,我会创建多个原型(prototype)单元格,对其进行定制,然后为每个单元格设置自己的标识符。然后我
我正在使用平板电脑 View 并且我的表格 View 是分组的。我使用单个原型(prototype)单元格。在我的单元格中,我使用 UIView 并且只想将第一个单元格 View 设置为顶部,最后一个
如何让特定的 TD 不继承表格的 CSS 样式? 我应该如何使最右边的列完全没有任何背景? table { font-family:Arial, Helvetica, sans-serif;
我目前正在开发一个小项目 (Python 3.6.2),用于根据我从大学网站上抓取的输入自动创建时间表。为了创建时间表和存储约会(以及稍后重新组织它们,以找到“更好”的时间表),我目前使用 Panda
我想使用 python 数组模拟基本的细胞 split 。我有 u,它是一个数组,定义如下: n=2 #number of elements that can describe each cell N
渲染 Markdown 单元格时,在 latex 部分之后会显示垂直条。有什么办法可以去掉这些吗? 例如,markdown 单元格中的以下代码: $\left[ \begin{array}{cccc}
我正在使用 Yosys综合我的 RTL 设计,其中包括几个文字常量,例如绑定(bind)输出端口,如下代码所示: module my_module ( input a, input b
如何在 igGrid 更新中的 igTextEditor 上使用正则表达式? 我尝试使用验证选项,但它没有用。 $("#schedulerTable").igGrid({
我的问题是关于如何构建 LSTM 层,例如在 keras 中: keras.layers.LSTM(units,... other options) 这些单位是单个细胞还是细胞状态的维度? 我读过有关
我寻找将 selectedInputs 放入 renderDataTable 单元格的解决方案。我找到了 js 解决方案:https://datatables.net/examples/api/for
我是一名优秀的程序员,十分优秀!