- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我关注了 2-D Watershed example在 Mathworks.com 中分离连接的对象,如下图所示:
代码总结如下:
bw = imread('some_binary_image.tif');
D = -bwdist(~bw);
D(~bw) = -Inf;
L = watershed(D);
结果是:
中心的粒子被一分为二。有没有办法避免这里过度分割?
谢谢,lennon310,chessboard
确实适用于我的大部分图像,但仍有一些情况不适用。例如下面的二值图像:
使用棋盘将导致:
由于我有数百张图像,似乎很难找到一种适用于所有图像的参数组合。我想知道我是否需要结合使用棋盘、cityblock 等获得的良好结果...
最佳答案
使用max(abs(x1-x2),abs(y1-y2))
作为距离度量(棋盘),在watershed
中使用八连通邻域功能:
bw=im2bw(I);
D = -bwdist(~bw,'chessboard');
imagesc(D)
D(~bw) = -Inf;
L = watershed(D,8);
figure,imagesc(L)
结果:
关于matlab - Watershed算法的过分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20622368/
我对图像使用 OpenCV Watershed: #include "opencv2/opencv.hpp" #include using namespace cv; using namespace
我正在尝试使用 Java 中基于标记的 OpenCV 分水岭实现来过度分割图像。 我的想法是搜索所有局部最小值并将它们用作标记。不幸的是,分水岭需要一个 CV_8U 类型的矩阵作为标记输入,因此,我实
您好,我目前正在编写一个基本的 C++ 应用程序,使用 OpenCV 库从背景中分割图像的主题。该应用程序读入一个图像文件,并使用分水岭算法根据它在边缘周围找到的数据和在图像中心找到的数据生成掩码。
我正在开发一个使用 OpenCV-2.4.8 android sdk 的 Android 应用程序。以下示例代码尝试使用 OpenCV 库的 Watershed 分割算法 检测对象。 //bmp is
我是一名优秀的程序员,十分优秀!