博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python opencv Kmeans聚类
阅读量:3898 次
发布时间:2019-05-23

本文共 801 字,大约阅读时间需要 2 分钟。

使用Kmeans将图片颜色聚类

import cv2import numpy as npimport matplotlib.pyplot as pltImg= cv2.imread('sunshine.jpg')img = cv2.cvtColor(Img,cv2.COLOR_BGR2RGB)Z = img.reshape((-1,3))z = np.float32(Z)criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)k = [0,4,8,12,16,20]#将颜色聚类,分为原始,4,8,12,16,20for n,i  in enumerate(k):    plt.subplot(2,3,n+1)    if n ==0:        plt.imshow(img),plt.title('original'),plt.xticks([]),plt.yticks([])        continue    ret,label,center=cv2.kmeans(z,i,None,criteria,10,cv2.KMEANS_RANDOM_CENTERS)    center = np.uint8(center)    res = center[label.ravel()]    w,h = res.shape    w_n = np.sqrt(w).astype(np.uint32)    res = res.reshape((w_n,w_n,3))    plt.imshow(res),plt.title('K ={}'.format(i)),plt.xticks([]),plt.yticks([])plt.show()

在这里插入图片描述

可以看出随着颜色聚类数量增加,画面越来越接近原始照片

转载地址:http://ahben.baihongyu.com/

你可能感兴趣的文章
Selenium UI自动化(Java篇)
查看>>
使用Fiddler模拟弱网进行测试
查看>>
使用POI读取Excel测试用例
查看>>
记一次数据推送的异常解决端口解决
查看>>
linux、mysql、nginx、tomcat 性能参数优化
查看>>
Nginx使用Linux内存加速静态文件访问
查看>>
杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
查看>>
nginx另类复杂的架构
查看>>
Nginx流量复制/AB测试/协程
查看>>
使用NTP服务器完美解决VMware Linux时间无法同步问题
查看>>
机器学习笔记(3)---K-近邻算法(1)---约会对象魅力程度分类
查看>>
机器学习笔记(4)---K-近邻算法(2)---使用sklearn中的KNN算法
查看>>
数据结构——外部排序
查看>>
UNIX网络编程——System V 消息队列
查看>>
信号量、互斥锁,读写锁和条件变量的区别
查看>>
UNIX网络编程——Posix共享内存区和System V共享内存区
查看>>
js循环语句
查看>>
js中时钟的写法
查看>>
js事件冒泡
查看>>
京东金融曹鹏:通过JDD大赛,实现“比你更懂你”的极致价值,让金融更简单,更平等
查看>>