我想提取叶脉和机器学习过程中使用它们,但我不知道怎么做是正确的。
我试着索贝尔并取得相当不错的成绩。
码:
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像素数据,但结果并不好。