在OpenCV中叶脉提取和以ml施加(Leaf vein extraction in Opencv

2019-09-28 03:42发布

我想提取叶脉和机器学习过程中使用它们,但我不知道怎么做是正确的。

我试着索贝尔并取得相当不错的成绩。

码:

  Imgproc.GaussianBlur(image, image, new Size(3, 3), 0, 0);
  Imgproc.cvtColor(image, image, Imgproc.COLOR_BGR2GRAY);      
  Mat Sx = new Mat(); Mat Sy = new Mat();
  Mat absSx = new Mat(); Mat absSy = new Mat();
  Imgproc.Sobel(image, Sx, CvType.CV_16S, 1, 0, 3, 1, 0, Imgproc.BORDER_DEFAULT);
  Core.convertScaleAbs(Sx, absSx);
  Imgproc.Sobel(image, Sy, CvType.CV_16S, 0, 1, 3, 1, 0, Imgproc.BORDER_DEFAULT);
  Core.convertScaleAbs(Sy, absSy);
  Core.addWeighted(absSx, 0.5, absSy, 0.5, 0, image);

图片:

1 2

许多取决于图像分辨率和质量,但有更好的方法?

如何使用机器学习这些信息? 如何将这个图形数据转换为适合于分类形式?

我试着只用classifaction像素数据,但结果并不好。

文章来源: Leaf vein extraction in Opencv and applying in ml