import cv2
import numpy as np
import matplotlib.pyplot as plt# 训练的点数
train_pts = 30# 创建测试的数据点,2类
# 以(-1.5, -1.5)为中心
rand1 = np.ones((train_pts,2)) * (-2) + np.random.rand(train_pts, 2)
print('rand1:')
print(rand1)# 以(1.5, 1.5)为中心
rand2 = np.ones((train_pts,2)) + np.random.rand(train_pts, 2)
print('rand2:')
print(rand2)# 合并随机点,得到训练数据
train_data = np.vstack((rand1, rand2))
train_data = np.array(train_data, dtype='float32')
train_label = np.vstack( (np.zeros((train_pts,1), dtype='int32'), np.ones((train_pts,1), dtype='int32')))# 显示训练数据
plt.figure(1)
plt.plot(rand1[:,0], rand1[:,1], 'go')
plt.plot(rand2[:,0], rand2[:,1], 'ro')
plt.show()# 创建分类器
svm = cv2.ml.SVM_create()
svm.setType(cv2.ml.SVM_C_SVC)  # SVM类型
svm.setKernel(cv2.ml.SVM_LINEAR) # 使用线性核
svm.setC(1.0)# 训练
ret = svm.train(train_data, cv2.ml.ROW_SAMPLE, train_label)# 测试数据,20个点[-2,2]
pt = np.array(np.random.rand(20,2) * 4 - 2, dtype='float32')
(ret, res) = svm.predict(pt)
print("res = ")
print(res)print("ret = ")
print(ret)# 按label进行分类显示
plt.figure(2)
res = np.hstack((res, res))# 第一类
type_data = pt[res < 0.5]
print('type_data<0.5')
print(type_data)
#type_data = np.reshape(type_data, (type_data.shape[0] / 2, 2))
#plt.plot(type_data[:,0], type_data[:,1], 'o')
row=type_data.shape[0]//2
print('row=')
print(row)
type_data = np.reshape(type_data,(row, 2))
plt.plot(type_data[:,0], type_data[:,1], 'ro')# 第二类
type_data = pt[res >= 0.5]
print('type_data>0.5')
print(type_data)
row=type_data.shape[0]//2
type_data = np.reshape(type_data, (row, 2))
plt.plot(type_data[:,0], type_data[:,1], 'bo')plt.show()cv2.waitKey(0)
cv2.destroyAllWindows()

(openCV 十)ML_SVM相关推荐

  1. python画自己的名字_Python+OpenCV 十几行代码模仿世界名画

    原标题:Python+OpenCV 十几行代码模仿世界名画 现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等, ...

  2. opencv十四天入门学习——task1

    opencv十四天入门学习--task1 前言 1.计算机视觉简介 2.计算机视觉框架 2.1 传统框架 2.2 深度学习训练框架 2.3 深度学习部署框架 2.4 当前业界主流框架应用 3.open ...

  3. opencv十四天入门学习——task2

    opencv十四天入门学习--task2 前言 1.图像色彩空间转换 1.1 人眼可见光域 1.2 常见色彩空间 1.3 图像色彩转换 2.图像对象的创建与赋值 2.1 图像对象属性 2.2 图像创建 ...

  4. 【OpenCV十六新手教程】OpenCV角检测Harris角点检测

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...

  5. opencv python是什么_Python+OpenCV 十几行代码模仿世界名画

    现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等,可以把你的照片变成梵高.毕加索.蒙克等大师的风格. 这种功能 ...

  6. Python+OpenCV 十几行代码模仿世界名画

    现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等,可以把你的照片变成 梵高.毕加索.蒙克 等大师的风格. 这种 ...

  7. gamma校正 matlab,Gamma校正 ——图像灰度变化 OpenCV (十)

    Gamma校正(C++.OpenCV实现) 1.作用: Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 伽玛校正由以下幂律表达式定义: 2.函数原型 v ...

  8. (openCV 十九)轮廓Contours形状拟合

    什么是轮廓? 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同 的颜色或者灰度.轮廓在形状分析和物体的检测和识别中很有用. • 为了更加准确,要使用二值化图像.在寻找轮廓之前,要进行阈 ...

  9. OpenCV实现立体视觉的案例

    尝试用OpenCV来实现立体视觉也有一段时间了,主要的参考资料就是Learning OpenCV十一.十二章和OpenCV论坛上一些前辈的讨论.过程中磕磕碰碰,走了不少弯路,终于在前不久解决了最头大的 ...

最新文章

  1. 【laravel7.x中文文档】Redis
  2. Django中多种重定向方法使用
  3. U3D 飞机大战(MVC模式)解析--面向对象编程思想
  4. 第一周:信息系统项目管理基础与立项管理作业视频讲解
  5. 和你谈谈数据分析报告
  6. vs2003 局部友元访问私有不可访问_C++ 类:重载运算符与友元
  7. libcurl使用方法
  8. Centos如何通过yum安装php7
  9. 【模型压缩】Only Train Once:微软、浙大等研究者提出剪枝框架OTO,无需微调即可获得轻量级架构...
  10. 学习计算机如何有一个质的飞越?
  11. android调色器 源代码,Android 上的调色板 —— Palette
  12. Mantle Introduce
  13. Windows安全日志
  14. 《uniapp遇到的问题》 详情 ------ 编号:001
  15. PS图层混合模式详解
  16. 台灯有必要买AA级的吗?精选专业护眼的国AA级台灯
  17. 5G学习总结:RRM(无线资源管理)
  18. 基于用户消费行为的窃电检测(看完论文后的自行总结)
  19. landsat TM数据辐射定标和flaash大气校正
  20. vb与oracle数据库连接,vb.net 如何与oracle数据库连接

热门文章

  1. Simple React Snippets快捷
  2. Flutter 开发中最实用的 Dart 语法知识
  3. ubuntu命令行查看dns_linux命令,查看dns服务器的状态,查看dhcp服务器的状态
  4. 使用树莓派3B、RTL-SDR、OpenWebRX搭建无线电监测站
  5. UART串口通信协议
  6. 小程序开发工具绑定服务器,微信小程序绑定到第三方平台流程
  7. 一款开源的PHP邮箱系统
  8. Kubernetes(1)
  9. python网络安全论文题目_自动化毕业论文题目119个免费参考
  10. 荷兰DELTA电源维修SM66-AR-110德尔塔电源