- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在分离显微镜图像中的细胞时遇到问题。当我应用分水岭变换时,我最终将细胞分成许多 block ,而不仅仅是在边界/最小值处将它们分开。
我正在使用来自 http://physics.georgetown.edu/matlab/code.html 的 bpass 过滤器.
bp = bpass(image,1,15);
op = imopen(bp,strel('ball',10,700));
bw = im2bw(bp-op,graythresh(bp-op));
bw = bwmorph(bw,'majority',10);
bw = imclearborder(bw);
D = bwdist(~bw);
D = -D;
D(~bw) = -Inf;
L = watershed(D);
mask = im2bw(L,1/255);
任何想法将不胜感激!您可以看到我的细胞在最终掩膜中 split 得太多了。
这是我想要分水岭的那种形象。这是一张 16 位图像,所以看起来全黑。
最终图像蒙版:
我在这里手动分离了单元格:
最佳答案
找到细胞的中心应该相对简单:找到强度的局部最大值。使用这些点作为分水岭的种子,您可能会发现 this tutorial有用。
一些您可能会发现有用的形态学操作是:
- imimposemin
- 在计算分水岭变换时强制种子点成为局部最小值。
- imregionalmax
- 寻找强度图像的局部最大值。
关于matlab - 过度分水岭图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18454982/
我的问题是如何在 Android Watershed OpenCv 上计算图像中的对象数? 最佳答案 因为您没有告诉我们是哪一行导致了这些问题,但我强烈认为您误用了 erode() 和 dilate(
我正在使用精明的边缘检测和查找轮廓函数(均为 OpenCV)为分水岭变换创建标记。一切正常,但我对结果不是 100% 满意。原因是一些边丢失了,因此丢失了重要信息。更详细地说,我得到了一堆窗口(前 V
我正在尝试使用 OpenCV 分水岭算法 ( https://docs.opencv.org/3.1.0/d3/db4/tutorial_py_watershed.html ),但稍作改动。文档中有这
我正在为 OpenCV 中的分水岭编写代码。 但我希望分水岭边界是 4 点连接而不是 8 点连接。 目前是这个界面: void watershed(InputArray image, InputOut
我是一名优秀的程序员,十分优秀!