博客
关于我
kmeans图像分割
阅读量:80 次
发布时间:2019-02-26

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

 

# -*- coding: utf-8 -*-# @Author  : matthew# @Software: PyCharmimport cv2import matplotlib.pyplot as pltimport numpy as npdef seg_kmeans_gray():    img = cv2.imread('000129.jpg', cv2.IMREAD_GRAYSCALE)    # 展平    img_flat = img.reshape((img.shape[0] * img.shape[1], 1))    img_flat = np.float32(img_flat)    # 迭代参数    criteria = (cv2.TERM_CRITERIA_EPS + cv2.TermCriteria_MAX_ITER, 20, 0.5)    flags = cv2.KMEANS_RANDOM_CENTERS    # 聚类    compactness, labels, centers = cv2.kmeans(img_flat, 2, None, criteria, 10, flags)    # 显示结果    img_output = labels.reshape((img.shape[0], img.shape[1]))    plt.subplot(121), plt.imshow(img, 'gray'), plt.title('input')    plt.subplot(122), plt.imshow(img_output, 'gray'), plt.title('kmeans')    plt.show()if __name__ == '__main__':    seg_kmeans_gray()

 

# -*- coding: utf-8 -*-# @Author  : matthew# @Software: PyCharmimport cv2import matplotlib.pyplot as pltimport numpy as npdef seg_kmeans_color():    img = cv2.imread('000129.jpg', cv2.IMREAD_COLOR)    # 变换一下图像通道bgr->rgb,否则很别扭啊    b, g, r = cv2.split(img)    img = cv2.merge([r, g, b])    # 3个通道展平    img_flat = img.reshape((img.shape[0] * img.shape[1], 3))    img_flat = np.float32(img_flat)    # 迭代参数    criteria = (cv2.TERM_CRITERIA_EPS + cv2.TermCriteria_MAX_ITER, 20, 0.5)    flags = cv2.KMEANS_RANDOM_CENTERS    # 聚类    compactness, labels, centers = cv2.kmeans(img_flat, 2, None, criteria, 10, flags)    # 显示结果    img_output = labels.reshape((img.shape[0], img.shape[1]))    plt.subplot(121), plt.imshow(img), plt.title('input')    plt.subplot(122), plt.imshow(img_output, 'gray'), plt.title('kmeans')    plt.show()if __name__ == '__main__':    seg_kmeans_color()

 

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

你可能感兴趣的文章
mysql数据库导入导出_windows系统以及linux系统下的操作---linux工作笔记042
查看>>
mysql数据库导出导入
查看>>
MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
查看>>
mysql数据库常用命令
查看>>
MySQL数据库必会的增删查改操作(CRUD)
查看>>
MySQL数据库性能分析与调优实践
查看>>
mysql数据库扫盲,你真的知道什么是数据库嘛
查看>>
mysql数据库批量插入数据shell脚本实现
查看>>
MySQL数据库操作
查看>>
MySQL数据库故障排错
查看>>
MySQL数据库无法远程连接的解决办法
查看>>
mysql数据库时间类型datetime、bigint、timestamp的查询效率比较
查看>>
MySQL数据库服务器端核心参数详解和推荐配置(一)
查看>>
mysql数据库死锁的产生原因及解决办法
查看>>
MySQL数据库的事务管理
查看>>
mysql数据库的备份与恢复
查看>>
Mysql数据库的条件查询语句
查看>>
MySQL数据库的高可用
查看>>
Mysql数据库相关各种类型的文件
查看>>
MYSQL数据库简单的状态检查(show processlist)
查看>>