Emgucv 3.* 下的SVM示例

本文介绍了在Emgucv 3.*版本中使用SVM时遇到的问题及解决方案。由于版本更新,官方的SVM示例已过时,作者指出SVMParams类已被内置到SVM类中。在解决报错System.DivideByZeroException时,将分类标签类型从float改为int。代码已在3.2版本下成功编译,但未在3.3版本上测试。作者分享了学习交流的QQ群号,表示其他如EM算法的实现仍有挑战。
摘要由CSDN通过智能技术生成

不想吐槽Emgucv了,版本更新太快,教程又跟不上。 官网上的SVM示例是基于2.4.*之前的,唯一的差别是SVMParams 这个单独的类不见了,换直接在SVM类里面设置。

改完这部份后还报一个:System.DivideByZeroException:“尝试除以零。”的错误,这个错误比较简单,分类标签的类型从float改为int就行了(外网上看到的,反正改完能用就没管原理。)

以下代码在Emgucv 3.2版本下编译通过了,3.3版本没试过,用过的同学给个回复。图片中的前几个ML的例子都调通了,唯独最后的一个EM算法没调通,和SVM一样的问题,但资料太少,以后再尝试了。

 int trainSampleCount = 150;
            int sigma = 60;

            #region Generate the training data and classes

            Matrix<float> trainData = new Matrix<float>(trainSampleCount, 2);
            Matrix<int> trainClasses = new Matrix<int>(trainSampleCount, 1);

            Image<Bgr, Byte> img = new Image<Bgr, byte>(500, 500);

            Matrix<float> sample = new Matrix<float>(1, 2);

            Matrix<float> trainData1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值