栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

图像直方图的高斯混合模型

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图像直方图的高斯混合模型

问题在于将直方图而不是像素强度数组传递给GaussianMixture.fit

gmm =gmm.fit(hist)
。我还发现,
n_components = 6
视觉上适合此特定直方图的最低要求。

import numpy as npimport cv2import matplotlib.pyplot as pltfrom sklearn.mixture import GaussianMixture# Read imageimg = cv2.imread("test.jpg",0)hist = cv2.calcHist([img],[0],None,[256],[0,256])hist[0] = 0     # Removes background pixelsdata = img.ravel()data = data[data != 0]data = data[data != 1]  #Removes background pixels (intensities 0 and 1)# Fit GMMgmm = GaussianMixture(n_components = 6)gmm = gmm.fit(X=np.expand_dims(data,1))# evaluate GMMgmm_x = np.linspace(0,253,256)gmm_y = np.exp(gmm.score_samples(gmm_x.reshape(-1,1)))# Plot histograms and gaussian curvesfig, ax = plt.subplots()ax.hist(img.ravel(),255,[2,256], normed=True)ax.plot(gmm_x, gmm_y, color="crimson", lw=4, label="GMM")ax.set_ylabel("Frequency")ax.set_xlabel("Pixel Intensity")plt.legend()plt.show()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669653.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号