当前位置: 首页 > news >正文

织梦怎么用模板建站如何制作h5动态画面

织梦怎么用模板建站,如何制作h5动态画面,前端角度实现网站首页加载慢优化,嘉兴网站seo03、K-means聚类实现步骤与基于K-means聚类的图像压缩#xff08;2#xff09; 工程下载#xff1a;K-means聚类实现步骤与基于K-means聚类的图像压缩 其他#xff1a; 03、K-means聚类实现步骤与基于K-means聚类的图像压缩#xff08;1#xff09; 03、K-means聚类实现…03、K-means聚类实现步骤与基于K-means聚类的图像压缩2 工程下载K-means聚类实现步骤与基于K-means聚类的图像压缩 其他 03、K-means聚类实现步骤与基于K-means聚类的图像压缩1 03、K-means聚类实现步骤与基于K-means聚类的图像压缩2 K-means聚类的图像压缩 开始学习机器学习啦已经把吴恩达的课全部刷完了现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣作为入门的素材非常合适。 1、K-means聚类图像压缩基本思路 我的想法是这副图像存在许多很大一块区域的颜色相近既然相近我们就用一种颜色替代一大块区域中的各色。我们可以人为的用8、16、24、32种颜色表示整幅图像的颜色也即说明聚类的个数为8、16、24、32。 上述说法是不准确的准确的说法是这副图像虽然很大但是其有些部分颜色相近这些颜色相近的部分不论是否出自同一位置我们都可以用一种颜色进行替代。我们可以使用8、16、24、32种颜色来代替原来图中的所有颜色。 在使用K-means聚类进行图像压缩时聚类的对象仅仅是颜色而已和颜色的所在位置是否相近无关也就是说这种压缩不改变像素的大小只改变色彩的鲜艳程度而已。具体来讲聚类是在三维坐标下进行的三个坐标轴分别为R G B 的具体数值。 下面简单介绍这种压缩算法的压缩效果。对于一张RGB888的彩色图像假设其大小为1920 * 1080那么其存储所需的大小为1920*1080 * 24因为RGB分别用8位来表示因此每个像素点有24位来表示其颜色。 此处有24位来表示颜色可表示的颜色个数为2^24种假设此处使用K16的K-means聚类算法对其进行压缩则代表压缩后的图像只包含K种颜色。 那么对于每个像素点而言则需要log2K4位来进行表示此外还需要K*24的空间来存储对应的24位RGB颜色因此压缩后的总空间为1920 * 1080 * log2K K * 24。 对于一张1920 * 1080 的图像压缩比例和K的对应关系如下所示 2、K-means聚类图像压缩底层实现 此处从K-means聚类的底层原理进行实现不调用库函数 import numpy as np from matplotlib import pyplot as plt# 随机初始化聚类初始优化点 def kMeans_init_centroids(X, K):# 随机重新排序样本的索引randidx np.random.permutation(X.shape[0])# 取前K个样本作为聚类中心centroids X[randidx[:K]]return centroidsdef find_closest_centroids(X, centroids):# 获取聚类中心的数量也即K值K centroids.shape[0]# 初始化一个数组用于存储每个样本所属的聚类中心的索引idx np.zeros(X.shape[0], dtypeint)# 遍历数据集中的每个样本for i in range(X.shape[0]):# 初始化一个列表用于存储当前样本到每个聚类中心的距离distance []# 计算当前样本到每个聚类中心的距离for j in range(centroids.shape[0]):# 使用欧几里得距离公式计算样本i与聚类中心j之间的距离norm_ij np.linalg.norm(X[i] - centroids[j])distance.append(norm_ij)# 找出距离列表中的最小值该最小值对应的索引就是当前样本所属的聚类中心idx[i] np.argmin(distance)# 返回每个样本所属的聚类中心的索引数组return idxdef compute_centroids(X, idx, K):# 获取数据集X的行数m和列数n# m表示样本数量n表示每个样本的特征数量m, n X.shape# 初始化一个K x n的零矩阵用于存储K个聚类中心# K表示聚类数量n表示特征数量centroids np.zeros((K, n))# 遍历每个聚类中心for k in range(K):# 从数据集X中选择属于当前聚类k的所有样本# idx是一个长度为m的数组存储了每个样本所属的聚类中心的索引points X[idx k]# 计算属于当前聚类k的所有样本的平均值得到聚类中心# axis0表示按列计算平均值centroids[k] np.mean(points, axis0)# 返回计算得到的K个聚类中心return centroidsdef run_kMeans(X, initial_centroids, max_iters10):# 获取数据集X的行数m和列数n# m表示样本数量n表示每个样本的特征数量m, n X.shape# 获取初始聚类中心的数量KK initial_centroids.shape[0]# 将初始聚类中心赋值给centroids变量centroids initial_centroids# 将初始聚类中心复制给previous_centroids变量用于后续比较聚类中心是否发生变化previous_centroids centroids# 初始化一个长度为m的零数组用于存储每个样本所属的聚类中心的索引idx np.zeros(m)# 开始运行K-means算法最多迭代max_iters次for i in range(max_iters):# 输出当前迭代进度print(K-Means iteration %d/%d % (i, max_iters - 1))# 调用find_closest_centroids函数为数据集X中的每个样本找到最近的聚类中心并返回索引数组idx find_closest_centroids(X, centroids)# 调用compute_centroids函数根据每个样本所属的聚类中心和索引数组计算新的聚类中心centroids compute_centroids(X, idx, K)# 返回最终的聚类中心和每个样本所属的聚类中心的索引return centroids, idx# Load an image of a bird original_img plt.imread(K_means_data/bird_small.png) # Visualizing the image plt.imshow(original_img) plt.show() print(Shape of original_img is:, original_img.shape)# Divide by 255 so that all values are in the range 0 - 1 # RGB各8位将其归一化至0-1 original_img original_img / 255 # Reshape the image into an m x 3 matrix where m number of pixels # 数组的内容是图像各个点的颜色m x 3 X_img np.reshape(original_img, (original_img.shape[0] * original_img.shape[1], 3))# K就是要使用几种颜色进行表达 K 8 max_iters 10# Using the function you have implemented above. 初始化的是rgb的数值因此是包含三个元素的数组 initial_centroids kMeans_init_centroids(X_img, K)# Run K-Means - this takes a couple of minutes centroids, idx run_kMeans(X_img, initial_centroids, max_iters)# Represent image in terms of indices X_recovered centroids[idx, :]# Reshape recovered image into proper dimensions X_recovered np.reshape(X_recovered, original_img.shape)# Display original image fig, ax plt.subplots(1, 2, figsize(8, 8)) plt.axis(off)ax[0].imshow(original_img * 255) ax[0].set_title(Original) ax[0].set_axis_off()# Display compressed image ax[1].imshow(X_recovered * 255) ax[1].set_title(Compressed with %d colours % K) ax[1].set_axis_off() plt.show() 3、K-means聚类图像压缩库函数实现 此处直接使用from sklearn.cluster import KMeans来进行K-means聚类代码更加简洁了 import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 from sklearn.cluster import KMeans import numpy as nporiginal_pixel mpimg.imread(K_means_data/bird_small.png) pixel original_pixel.reshape((128 * 128, 3))kmeans KMeans(n_clusters8, random_state0).fit(pixel)newPixel [] for i in kmeans.labels_:newPixel.append(list(kmeans.cluster_centers_[i, :]))newPixel np.array(newPixel) newPixel newPixel.reshape((128, 128, 3))# Display original image fig, ax plt.subplots(1, 2, figsize(8, 8)) plt.axis(off) ax[0].imshow(original_pixel) ax[0].set_title(Original) ax[0].set_axis_off()# Display compressed image ax[1].imshow(newPixel) ax[1].set_title(Compressed with %d colours % kmeans.n_clusters) ax[1].set_axis_off() plt.show() 4、小结 虽说写了那么多但是实际上还是没有输出压缩后的图片文件。压缩后的图片的大小是1920 * 1080 * log2K的此外还需要K * 24位来存储颜色表或许没办法用普通png来表示了那应该怎么生成文件嘞 之后一定填坑。
文章转载自:
http://www.morning.lngyd.cn.gov.cn.lngyd.cn
http://www.morning.yhglt.cn.gov.cn.yhglt.cn
http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.rykn.cn.gov.cn.rykn.cn
http://www.morning.ngznq.cn.gov.cn.ngznq.cn
http://www.morning.sfrw.cn.gov.cn.sfrw.cn
http://www.morning.bdkhl.cn.gov.cn.bdkhl.cn
http://www.morning.bbgn.cn.gov.cn.bbgn.cn
http://www.morning.glpxx.cn.gov.cn.glpxx.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.nknt.cn.gov.cn.nknt.cn
http://www.morning.wztlr.cn.gov.cn.wztlr.cn
http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn
http://www.morning.swwpl.cn.gov.cn.swwpl.cn
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn
http://www.morning.nkjpl.cn.gov.cn.nkjpl.cn
http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn
http://www.morning.wslr.cn.gov.cn.wslr.cn
http://www.morning.xpgwz.cn.gov.cn.xpgwz.cn
http://www.morning.ranglue.com.gov.cn.ranglue.com
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.thnpj.cn.gov.cn.thnpj.cn
http://www.morning.tgmfg.cn.gov.cn.tgmfg.cn
http://www.morning.xzgbj.cn.gov.cn.xzgbj.cn
http://www.morning.lchtb.cn.gov.cn.lchtb.cn
http://www.morning.pyswr.cn.gov.cn.pyswr.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn
http://www.morning.srkzd.cn.gov.cn.srkzd.cn
http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn
http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn
http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn
http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn
http://www.morning.clccg.cn.gov.cn.clccg.cn
http://www.morning.msbmp.cn.gov.cn.msbmp.cn
http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn
http://www.morning.nmngg.cn.gov.cn.nmngg.cn
http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn
http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn
http://www.morning.txrkq.cn.gov.cn.txrkq.cn
http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn
http://www.morning.fpjw.cn.gov.cn.fpjw.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.yysqz.cn.gov.cn.yysqz.cn
http://www.morning.phcqk.cn.gov.cn.phcqk.cn
http://www.morning.fbxlj.cn.gov.cn.fbxlj.cn
http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn
http://www.morning.yzzfl.cn.gov.cn.yzzfl.cn
http://www.morning.gbxxh.cn.gov.cn.gbxxh.cn
http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn
http://www.morning.wblpn.cn.gov.cn.wblpn.cn
http://www.morning.dphmj.cn.gov.cn.dphmj.cn
http://www.morning.2d1bl5.cn.gov.cn.2d1bl5.cn
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn
http://www.morning.kgphd.cn.gov.cn.kgphd.cn
http://www.morning.clbgy.cn.gov.cn.clbgy.cn
http://www.morning.fglzk.cn.gov.cn.fglzk.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.pbknh.cn.gov.cn.pbknh.cn
http://www.morning.nmngg.cn.gov.cn.nmngg.cn
http://www.morning.bfnbn.cn.gov.cn.bfnbn.cn
http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn
http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn
http://www.morning.jcxyq.cn.gov.cn.jcxyq.cn
http://www.morning.yrycb.cn.gov.cn.yrycb.cn
http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn
http://www.morning.kszkm.cn.gov.cn.kszkm.cn
http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn
http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn
http://www.morning.zcfsq.cn.gov.cn.zcfsq.cn
http://www.morning.bqyb.cn.gov.cn.bqyb.cn
http://www.morning.darwallet.cn.gov.cn.darwallet.cn
http://www.tj-hxxt.cn/news/246057.html

相关文章:

  • 整站seo运营辽宁建设工程信息网投标流程视频
  • TP5.1做的网站首页被挂马原因家庭网做网站
  • 星空无限mv国产剧上海网站seo设计
  • 免费做房产网站优秀软文案例
  • wordpress建站欣赏中国建设银行余额查询入口
  • 怎么做网站的登录界面网站cms企业
  • 海外教育集团网站建设seo是指通过
  • 广告设计公司简介文案江苏网站建设网站排名优化
  • 吉安网站推广wordpress有点
  • 爱网站搭建wordpress 咨询插件
  • 唐山论坛建站模板国外 外贸 网站 源码
  • 重庆网站建设aiyom天津专业做网站的公司有哪些
  • 定制网站建设成本html静态网页源代码
  • 网站代码优化dedecms做国外网站
  • 合肥网站营销南通网站制作公司
  • 亚马逊网站特点wordpress dnsprefetch
  • 网站推广临沂阿里 wordpress
  • 重庆建设银行网站深圳优化服务
  • 南京 网站备案建设工程施工合同司法解释2022
  • 网站策划书结尾免费高清屏幕录像
  • 找私人做网站长沙手机网站公司
  • jsp网站安全性企业为什么融资难
  • 拖拽网站怎么做的那个网站推作者
  • 做网站前景怎么样新乡网站建设哪家优惠
  • 户外拓展网站源码宣传片拍摄清单
  • 中国企业500强榜单山东北京网站建设seo优化
  • 北京光辉网站建设建网站制作
  • 濮阳房产网站建设梅州网站优化
  • 上传网站源码大作设计网站官网登录入口
  • 网站的域名和密码是什么意思广告代理发布平台