iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >图像聚类的python实现
  • 546
分享到

图像聚类的python实现

图像python 2023-01-31 01:01:46 546人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

因为之后的项目要用到影像聚类,之前一直是用ENVI实现,现在想学下python。学习的这一篇:小项目聚类 import cv2import matplotlib.pyplot as pltimport numpy as np imPat

因为之后的项目要用到影像聚类,之前一直是用ENVI实现,现在想学下python
学习的这一篇:小项目聚类

import cv2
import matplotlib.pyplot as plt
import numpy as np

imPath = 'C:\Users\lp\Desktop\photo.jpg'

origin = cv2.imread(imPath)

origin = cv2.cvtColor(origin, cv2.COLOR_BGR2GRAY)

h, w = origin.shape
print("原始图像大小为 :{}*{}".fORMat(h, w))

alpha = int(input("\n请输入缩放系数 : "))

newH = int(h / alpha)
newW = int(w / alpha)
print("\n缩放后图像大小 : {}*{}".format(newH, newW))
origin = cv2.resize(origin, (newW, newH))

numOfClass = int(input("\n色彩分类数 : "))

roundForLoop = int(input("\n定义最大迭代次数 : "))
print()

print("————开始聚类————")

valueArange = origin.max() - origin.min()
keyValueList = [] # 用来存储numOfClass个中心点的值

for i in range(1, numOfClass + 1):
keyValueList.append(valueArange / numOfClass * i / 2)

flagMatrix = np.zeros((newH, newW))

for r in range(roundForLoop):

for row in range(newH):

    for col in range(newW):

        temp = []

        for i in range(numOfClass):
            temp.append(np.abs(origin[row, col] - keyValueList[i]))

        # 获得该像素点最近的类
        index = temp.index(min(temp))
        # 存入flag矩阵
        flagMatrix[row, col] = index

# 更新keyValueList
temp = np.zeros(numOfClass)
ct = np.zeros(numOfClass)

for row in range(newH):

    for col in range(newW):
        temp[int(flagMatrix[row, col])] += origin[row, col]
        ct[int(flagMatrix[row, col])] += 1

for i in range(numOfClass):
    keyValueList[i] = temp[i] / ct[i]

print("完成 : {} / {}".format(r + 1, roundForLoop))

plt.subplot(121)
plt.imshow(origin)
plt.title("Origin Image")

plt.subplot(122)
plt.imshow(flagMatrix)
plt.title("Result1 Image\nRound = {}\nclass = {}".format(roundForLoop, numOfClass))
plt.show()

迭代过程:
1、聚类的迭代过程就是遍历每个像素点,并且将每个像素点分别与keyValueList的每个元素做差,这个差的绝对值越小,说明该像素点离该类越近。遂将该元素归到离其最近的类。
2、遍历完所有的像素点后,对每一类的像素点求其平均值,并以该值更新对应的keyValueList中的元素,并完成一轮迭代。keyValueList为一个长度为分类数的存储空间,其元素从低到高代表了图像像素各个类的平均值。
3、最终会获得一个与原图大小相同的flag矩阵,矩阵的每个元素对应原图中像素所在类别。
4、将该flag矩阵输出,则得到聚类得到的分类结果。

--结束END--

本文标题: 图像聚类的python实现

本文链接: https://www.lsjlt.com/news/184622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 图像聚类的python实现
    因为之后的项目要用到影像聚类,之前一直是用ENVI实现,现在想学下python。学习的这一篇:小项目聚类 import cv2import matplotlib.pyplot as pltimport numpy as np imPat...
    99+
    2023-01-31
    图像 python
  • Python K-means实现简单图像聚类的示例代码
    这里直接给出第一个版本的直接实现: import os import numpy as np from sklearn.cluster import KMeans import ...
    99+
    2022-11-12
  • OpenCV 图像分割实现Kmean聚类的示例代码
    目录1 Kmean图像分割2 流程3 实现1 Kmean图像分割 按照Kmean原理,对图像像素进行聚类。优点:此方法原理简单,效果显著。缺点:实践发现对于前景和背景颜色相近或者颜色...
    99+
    2022-11-13
  • tensorflow+k-means聚类简单实现猫狗图像分类的方法
    目录一、前言二、k-means聚类三、图像分类一、前言 本文使用的是 kaggle 猫狗大战的数据集:https://www.kaggle.com/c/dogs-vs-cats/da...
    99+
    2022-11-12
  • Python | 实现 K-means 聚类——多维数据聚类散点图绘制
    文章目录 吐槽正题本文背景文章目的K-means 聚类步骤:K-means分类Python代码上述代码结果可视化展示不入流的小期待 吐槽 客观吐槽:...
    99+
    2023-09-01
    聚类 python kmeans
  • Python基于纹理背景和聚类算法实现图像分割详解
    目录一.基于纹理背景的图像分割二.基于K-Means聚类算法的区域分割三.总结一.基于纹理背景的图像分割 该部分主要讲解基于图像纹理信息(颜色)、边界信息(反差)和背景信息的图像分割...
    99+
    2023-01-03
    Python 纹理 图像分割 Python 聚类算法 图像分割 Python图像分割
  • K-MEANS聚类——Python实现
    一、概述 (1)物以类聚,人以群分,聚类分析是一种重要的多变量统计方法,但记住其实它是一种数据分析方法,不能进行统计推断的。当然,聚类分析主要应用在市场细分等领域,也经常采用聚类分析技术来实现对抽样框的分层。它和分类不同,它属于无监督问题。...
    99+
    2023-09-18
    聚类 python kmeans
  • 利用Matlab仿真实现图像烟雾识别(k-means聚类图像分割+LBP+PCA+SVM)
    目录一、算法简介1.1 c-means聚类算法1 .2 LBP算法1.3 PCA算法1.4 SVM算法二、算法实现2.1 烟雾识别算法流程2.2 c-means算法实现2.3 LBP...
    99+
    2022-11-12
  • python实现层次聚类的方法
    层次聚类算法 顾名思义,层次聚类就是一层一层的进行聚类,可以由上向下把大的类别(cluster)分割,叫作分裂法;也可以由下向上对小的类别进行聚合,叫作凝聚法;但是一般用的比较多的是...
    99+
    2022-11-12
  • Python怎么使用树状图实现可视化聚类
    今天小编给大家分享一下Python怎么使用树状图实现可视化聚类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。树状图树状图是显...
    99+
    2023-07-05
  • Python实现聚类K-means算法
    本文内容、数据参考周志华《机器学习》,代码部分为个人实现,如有错误还请指出。 K-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 E ...
    99+
    2023-09-20
    聚类 算法 python
  • Python聚类算法之凝聚层次聚类实例分析
    本文实例讲述了Python聚类算法之凝聚层次聚类。分享给大家供大家参考,具体如下: 凝聚层次聚类:所谓凝聚的,指的是该算法初始时,将每个点作为一个簇,每一步合并两个最接近的簇。另外即使到最后,对于噪音点或是...
    99+
    2022-06-04
    算法 实例 层次
  • 如何利用python实现kmeans聚类
    目录一、先上手撸代码!二、接下来是调库代码!(sklearn)附:对k-means算法的认识总结一、先上手撸代码! 1、首先是导入所需要的库和数据 import pandas as ...
    99+
    2022-11-11
  • python中opencvK均值聚类的实现示例
    目录K均值聚类K均值聚类的基本步骤K均值聚类模块简单例子K均值聚类 预测的是一个离散值时,做的工作就是“分类”。预测的是一个连续值时,做的工作就是&ldquo...
    99+
    2022-11-11
  • Python使用OpenCV和K-Means聚类对毕业照进行图像分割
    图像分割是将图像分割成多个不同区域(或片段)的过程。目标是将图像的表示变成更容易和更有意义的图像。 在这篇博客中,我们将看到一种图像分割方法,即K-Means Clustering。...
    99+
    2022-11-12
  • Python实现聚类K-means算法详解
    目录手动实现sklearn库中的KMeansK-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 注:为避免运行时间过长,通常设置一个最大运行轮数或最小调整幅度...
    99+
    2022-11-11
  • Python如何实现聚类K-means算法
    今天小编给大家分享一下Python如何实现聚类K-means算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。K-means...
    99+
    2023-07-02
  • python实现层次聚类的方法是什么
    本篇内容介绍了“python实现层次聚类的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!层次聚类算法顾名思义,层次聚类就是一层一层...
    99+
    2023-06-25
  • python实现图像降噪
    本文实例为大家分享了python实现图像降噪的具体代码,供大家参考,具体内容如下 任务描述 背景 图像在数字化和传输等过程中会产生噪声,从而影响图像的质量,而图像降噪技术可以有效地减...
    99+
    2022-11-11
  • Python实现图像增强
    本文实例为大家分享了Python实现图像增强的具体代码,供大家参考,具体内容如下 题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增强的手段,达到改善视觉效果的目的?请显示...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作