Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 用于分离大米的图像滤波器_Matlab_Image Processing - Fatal编程技术网

Matlab 用于分离大米的图像滤波器

Matlab 用于分离大米的图像滤波器,matlab,image-processing,Matlab,Image Processing,我正在尝试解决一个图像过滤问题。这里有两张图片,我正在努力工作。 我的目标是获得每一粒大米作为一个单独的图像 以下是我在第一张图片中使用并成功的过程 转换为灰度 获得灰色阈值 转换成二进制 进行膨胀和侵蚀,以实现更精确的过滤 使用连接组件分析 保存每个组件 现在,如果我尝试为image2获得类似的二值图像,那么所有相互连接的大米颗粒都是作为一个单独的组件 我试着用“canny”或其他类似“sobel”的词来推导地图,但它不起作用 有人能指导我做到这一点吗。第二张图中的颗粒很难分离,因为它们中有

我正在尝试解决一个图像过滤问题。这里有两张图片,我正在努力工作。

我的目标是获得每一粒大米作为一个单独的图像

以下是我在第一张图片中使用并成功的过程

  • 转换为灰度
  • 获得灰色阈值
  • 转换成二进制
  • 进行膨胀和侵蚀,以实现更精确的过滤
  • 使用连接组件分析
  • 保存每个组件
  • 现在,如果我尝试为image2获得类似的二值图像,那么所有相互连接的大米颗粒都是作为一个单独的组件

    我试着用“canny”或其他类似“sobel”的词来推导地图,但它不起作用


    有人能指导我做到这一点吗。

    第二张图中的颗粒很难分离,因为它们中有很多是相互接触的。首先扩张肯定没有帮助。一系列侵蚀->扩张->侵蚀通常对我有帮助,但在每一步都需要微调参数。我在这台电脑上看不到图像(愚蠢的公司安全策略:-P),但这种问题有时可以通过分水岭来解决。看到函数了吗?@Naveh我也试过了。不走运!米粒太近了。还尝试了detectSURFFeatures、extractFeatures和matchFeatures,这样很少有人会被检测到,但也没有运气。您可能需要在图像中使用更多信息。例如,由于阴影的存在,两个紧密间隔的颗粒之间经常会出现非常暗的线条。颗粒本身非常明亮(尽管比背景暗)。因此,代替标准的二进制转换,您可以使用两个阈值将其转换为二进制:如果灰度像素不太亮也不太暗,则在二进制中将其设置为1。这可以减少谷物之间的明显重叠。这些大米谷物看起来主要像椭圆形。尝试使用专门为椭圆拟合定制的随机Hough变换。这样,您将检测单个椭圆(即大米颗粒)。MATLAB FEX上发布了一个很好的MATLAB实现: