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

小语种服务网站移动端减肥网站模板

小语种服务网站,移动端减肥网站模板,做外贸要做什么网站,wordpress主题空白SVD 是一种矩阵分解和降维的算法,通过分解矩阵找到奇异值,奇异值越大代表特征越重要。公式如下 A U Σ V T A U \Sigma V^T AUΣVT U : 左矩阵 ( m \times m ) Σ \Sigma Σ: 对角奇异值矩阵V:右矩阵( n \times n ) Sklearn 实现 S…

SVD 是一种矩阵分解和降维的算法,通过分解矩阵找到奇异值,奇异值越大代表特征越重要。公式如下

A = U Σ V T A = U \Sigma V^T A=UΣVT

  • U : 左矩阵 ( m × \times × m )
  • Σ \Sigma Σ: 对角奇异值矩阵
  • V:右矩阵( n × \times × n )

Sklearn 实现 SVD

import numpy as np
A = np.array([[0,1],[1,1],[1,0]])
u, s, vt = np.linalg.svd(A, full_matrices=True)
print(u.shape, s.shape, vt.shape)

在这里插入图片描述
SVD 可以用于图片的压缩,只保留最重要信息,从 k=1 到 k=50:

import numpy as np
import os
from PIL import Image
from tqdm import tqdm# 定义恢复函数,由分解后的矩阵恢复到原矩阵
def restore(u, s, v, K): '''u:左奇异矩阵v:右奇异矩阵s:奇异值矩阵K:奇异值个数'''m, n = len(u), len(v[0])a = np.zeros((m, n))for k in range(K):uk = u[:, k].reshape(m, 1)vk = v[k].reshape(1, n)# 前k个奇异值的加总a += s[k] * np.dot(uk, vk)   a = a.clip(0, 255)return np.rint(a).astype('uint8')A = np.array(Image.open("./mountain.png", 'r'))
# 对RGB图像进行奇异值分解
u_r, s_r, v_r = np.linalg.svd(A[:, :, 0])    
u_g, s_g, v_g = np.linalg.svd(A[:, :, 1])
u_b, s_b, v_b = np.linalg.svd(A[:, :, 2])# 使用前50个奇异值
K = 50 
output_path = './svd_pic'
# 
for k in tqdm(range(1, K+1)):R = restore(u_r, s_r, v_r, k)G = restore(u_g, s_g, v_g, k)B = restore(u_b, s_b, v_b, k)I = np.stack((R, G, B), axis=2)   Image.fromarray(I).save('%s/svd_%d.jpg' % (output_path, k))

显示图片

from PIL import Image
from IPython.display import display, HTML
import os
import re
import time# Path to the folder containing images
image_folder = "./svd_pic"# List all image files
image_files = [f for f in os.listdir(image_folder) if f.endswith(('.png', '.jpg', '.jpeg'))]# Sort image files by the numeric part of the filename
def extract_number(filename):match = re.search(r'_(\d+)\.', filename)return int(match.group(1)) if match else float('inf')image_files = sorted(image_files, key=extract_number)# Generate HTML for horizontal display with cache busting
html = "<div style='display: flex; flex-direction: row; flex-wrap: wrap;'>"
timestamp = int(time.time())  # Use current timestamp for cache bustingfor idx, image_file in enumerate(image_files):img_path = os.path.join(image_folder, image_file)# Add a unique query parameter to disable cachingimg_url = f"{img_path}?v={timestamp}"img = Image.open(img_path)img_resized = img.resize((150, 150))  # Resize to 300x300img_resized.save("temp_resized.jpg")  # Save resized image temporarily# Add image with index number overlayhtml += f"""<div style="margin: 10px; position: relative; display: inline-block; text-align: center;"><img src="{img_url}" style="width: 150px; height: 150px; display: block;"><div style="position: absolute; top: 10px; left: 10px; background-color: rgba(0, 0, 0, 0.6); color: white; padding: 5px 10px; font-size: 16px; border-radius: 5px;">{idx + 1}</div></div>"""html += "</div>"# Display the images horizontally with no cache
display(HTML(html))

随着K 值增大,图片会越来越清晰。
在这里插入图片描述

总结

SVD 算法通过求解奇异值对矩阵进行分解,较大奇异值能表达更重要的信息。

http://www.yayakq.cn/news/399280/

相关文章:

  • 网站建设推销话术案例东莞网站制作实力乐云seo
  • 高台县建设局网站网络营销的特点包括
  • 个人网站建设研究意义wordpress多语言界面
  • 夫妻找做伙食饭工作哪个网站好wordpress多重筛选页面
  • 酒店管理公司网站建设方案宽屏营销型网站源码
  • wordpress教程 网站标题微网站开发工具有哪些
  • 如何使用电子商务网站新华路街道网站建设
  • 瑞安市公用建设局网站怎样做网站关键词优化
  • 工程认证网站的建设青山做网站
  • 建站之星官网两人世界高清完整版免费观看
  • 网站外链数怎么查公司如何建设网站
  • 帝国做视频网站阿里云1m 宽带做网站服务器
  • 建设网站的需求分析怎样看一个网站是哪个公司做的
  • 如何使用模板建设网站注册公司费用流程图
  • 湛江网站建设产品优化宜昌做网站优化
  • 龙岗网络推广深圳网站建设数据库网站建设公司
  • 怎样做理财投资网站营销型网站框架
  • 以前在线做预算的网站广告设计网站免费
  • 哔哩哔哩网页版官网在线观看淄博seo服务
  • 网站建设价格济南网站建设a2345
  • 网站实名认证查询申请表做境外域名网站
  • 有没有代做ppt的网站织梦网站主页底
  • 网站开发课设wordpress数据库里的主题痕迹
  • 深圳比较好的网站建设公司wordpress 重新生成
  • 本公司经营网站建设硬件开发流程图
  • 网站建设和技术服务合同范本做网站时间
  • 多个域名绑定同一网站做资讯网站要什么手续
  • 做网站一定要有空间吗瑞安app开发公司
  • 无锡做智能网站青岛专门做网站的公司
  • 婚纱摄影网站模板源码网站建设制作设计