我想提取叶脉,并在机器学习过程中使用它们,但我不知道如何做正确。
我尝试过sobel并取得了不错的成绩。
代码:
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);
图片:
很多都取决于图像分辨率和质量,但有更好的方法吗?
如何在机器学习中使用这些信息? 如何将此图形数据转换为适合分类器的形式?
我在分类中只尝试使用像素数据,但结果并不好。