前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >opencv聚类算法

opencv聚类算法

作者头像
sofu456
发布2019-10-22 16:05:51
8960
发布2019-10-22 16:05:51
举报
文章被收录于专栏:sofu456sofu456

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/daoer_sofu/article/details/102514622

kmeans分类

代码语言:javascript
复制
tmp = frame.reshape((-1,3))
tmp = np.float32(tmp)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
_,label,center = cv2.kmeans(tmp,2,None,criteria,10,cv2.KMEANS_RANDOM_CENTERS)  // 其中第二个参数,分类个数
center = np.uint8(center)
tmp = center[label.flatten()]
frame = tmp.reshape((frame.shape))
  • 原图
在这里插入图片描述
在这里插入图片描述
  • kmeans 2均值
在这里插入图片描述
在这里插入图片描述
  • kmeans 4个均值
在这里插入图片描述
在这里插入图片描述

kmean 10均值

在这里插入图片描述
在这里插入图片描述

means-shift目标追踪

设置目标源:

代码语言:javascript
复制
hsv_roi =  cv2.cvtColor(src[200:300,225:275], cv2.COLOR_RGB2HSV)
mask = cv2.inRange(hsv_roi, np.array((0., 60.,32.)), np.array((180.,255.,255.)))
roi_hist = cv2.calcHist([hsv_roi],[0],mask,[180],[0,180])
cv2.normalize(roi_hist,roi_hist,0,255,cv2.NORM_MINMAX)
term_crit = ( cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 10, 1 )

检测代码

代码语言:javascript
复制
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
dst = cv2.calcBackProject([hsv],[0],roi_hist,[0,180],1)
ret, _ = cv2.CamShift(dst, (225,200,50,100), term_crit)
pts = cv2.boxPoints(ret)
pts = np.int0(pts)
frame = cv2.polylines(frame,[pts],True, 255,2)
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
^_^ 参数有些问题,鞋检测位置有偏差 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • kmeans分类
  • kmean 10均值
  • means-shift目标追踪
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档