网易首页 > 网易号 > 正文 申请入驻

机器学习实战:用 SVD 压缩图像(已上线)

0
分享至

↓↓↓点击关注,回复资料,10个G的惊喜

SVD

前文我们了解了,今天就实战一下,用矩阵的奇异值分解对图片进行压缩.

Learn by doing

我做了一个在线的图像压缩应用,大家可以感受一下。

功能很简单,上传需要压缩的图片,选择压缩比,提交即可。

下面咱们就一起看看实现过程

原理很简单:
将图片分解为RGB三颜色矩阵,将每个颜色矩阵进行奇异值分解,然后选择指定数量的特征对矩阵进行压缩。

核心代码

完整代码大家可以clone我的huggingface

https://huggingface.co/spaces/beihai/Image-Compression-with-SVD

核心代码1:

p表示奇异值的百分比,根据指定的清晰度提取奇异值清晰度越高,压缩比越低,提取的奇异值的个数也就越多,图片也就越不会失真)

def rebuild_img(u, sigma, v, percent):
m = len(u)
n = len(v)
a = np.zeros((m, n))

count = (int)(sum(sigma))
curSum = 0
k = 0
while curSum <= count * percent:
uk = u[:, k].reshape(m, 1)
vk = v[k].reshape(1, n)
a += sigma[k] * np.dot(uk, vk)
curSum += sigma[k]
k += 1

a[a < 0] = 0
a[a > 255] = 255

核心代码2: 主要就是定义inderence函数和gradio前端的实现

import os
os.system("pip install --upgrade pip")
os.system("pip install opencv-python-headless")
import cv2
import numpy as np
import gradio as gr
from func import rebuild_img

def inference(img,k):
input_img = cv2.imread(img, cv2.IMREAD_COLOR)
u, sigma, v = np.linalg.svd(input_img[:, :, 0])
R = rebuild_img(u, sigma, v, k)
u, sigma, v = np.linalg.svd(input_img[:, :, 1])
G = rebuild_img(u, sigma, v, k)
u, sigma, v = np.linalg.svd(input_img[:, :, 2])
B = rebuild_img(u, sigma, v, k)
restored_img = np.stack((R, G, B), 2)
return Image.fromarray(restored_img[:, :, ::-1])

gr.Interface(
inference,
[
gr.inputs.Image(type="filepath", label="Input"),gr.inputs.Slider(0, 1, 0.1,default=0.6,label= 'Compression ratio')],
gr.outputs.Image(type="pil", label="Output"),
title=title,
description=description,
article=article
).launch(enable_queue=True,cache_examples=True,share=True)
上线

Gradio + Huggingface 上线机器学习应用(纯免费)我已经介绍过很多遍了,这里就不赘述了,还不太熟悉的同学请移步我这篇文章:

这里就提一下遇到的小问题及解决方法吧。

由于用了cv2,所以要安装opencv-python,但是运行中报错如下:

File "/home/user/.local/lib/python3.8/site-packages/cv2/__init__.py", line 8, in
from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

针对这个错误,网上有以下方法:

1 yum安装:

yum install libglvnd-glx

2 重新安装opencv包:

pip uninstall opencv-python
pip install opencv-python-headless

第一种方法需要root权限,建议直接第二种方法吧,省事。

参考:https://blog.razrlele.com/p/1920 https://blog.csdn.net/qq_42192693/article/details/121392195







特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
巴拉圭民众将姆巴佩评为当下最令人讨厌的人,并焚烧其人偶

巴拉圭民众将姆巴佩评为当下最令人讨厌的人,并焚烧其人偶

懂球帝
2026-07-09 04:19:10
霍启刚发文痛斥:最赤裸的操作

霍启刚发文痛斥:最赤裸的操作

第一财经资讯
2026-07-08 14:29:20
LV遭遇史无前例的“全网嘲”!全球网友,包括日韩都发帖支持中国

LV遭遇史无前例的“全网嘲”!全球网友,包括日韩都发帖支持中国

火山詩话
2026-07-08 07:36:47
被逆转,媒体人怒了,十问赵勇:为何不早些弃用状态极差的队长?

被逆转,媒体人怒了,十问赵勇:为何不早些弃用状态极差的队长?

南海浪花
2026-07-09 07:51:23
74岁大妈哭诉:虽然我有儿有女还有百万积蓄,但我却只想早点离开

74岁大妈哭诉:虽然我有儿有女还有百万积蓄,但我却只想早点离开

热心柚子姐姐
2026-07-05 10:06:34
创维汽车月售仅38辆沦为边缘车企,黄宏生无力回天?

创维汽车月售仅38辆沦为边缘车企,黄宏生无力回天?

财观潮头
2026-07-06 22:35:43
“短剧女王”郭宇欣,就这么塌房了

“短剧女王”郭宇欣,就这么塌房了

钓了条娱v
2026-07-08 10:54:27
乾隆灭掉准噶尔,屠尽男丁灭族,对当时的世界造成了极大的震撼?

乾隆灭掉准噶尔,屠尽男丁灭族,对当时的世界造成了极大的震撼?

小豫讲故事
2026-06-24 06:00:15
7月即将发布的8款重磅新车,除了最后一款都能卖得好?

7月即将发布的8款重磅新车,除了最后一款都能卖得好?

汽车天涯
2026-07-08 10:02:16
美国和伊朗猝不及防!打完仗发现,沙特千亿资本疯狂投往中国!

美国和伊朗猝不及防!打完仗发现,沙特千亿资本疯狂投往中国!

飘逸语人
2026-07-04 14:24:35
中央气象台发布暴雨、强对流预警:今晚到明晚,内蒙古、黑龙江、辽宁、北京等地有大到暴雨;宁夏、陕西等地有8级以上雷暴大风或冰雹天气

中央气象台发布暴雨、强对流预警:今晚到明晚,内蒙古、黑龙江、辽宁、北京等地有大到暴雨;宁夏、陕西等地有8级以上雷暴大风或冰雹天气

鲁中晨报
2026-07-09 18:50:04
1975年“75·8”板桥水库溃坝事件完整详细经过

1975年“75·8”板桥水库溃坝事件完整详细经过

喜欢唱歌的老登
2026-07-07 18:00:08
胡金秋基本确定离开广厦,下家北京上海二选一,上海男篮报价最高

胡金秋基本确定离开广厦,下家北京上海二选一,上海男篮报价最高

中国篮坛快讯
2026-07-09 16:44:43
41岁,他刚告别世界杯,新帅却想让他以另一种身份留下!

41岁,他刚告别世界杯,新帅却想让他以另一种身份留下!

曹老师评球
2026-07-09 17:58:31
2025年度国家科技奖励,浙大12项一校抵一省,江苏14项、湖北11项

2025年度国家科技奖励,浙大12项一校抵一省,江苏14项、湖北11项

东东趣谈
2026-07-09 10:10:55
太扎心!41岁C罗最后世界杯留下尴尬数据:0次过人竟不及40岁门将

太扎心!41岁C罗最后世界杯留下尴尬数据:0次过人竟不及40岁门将

球叮足球
2026-07-09 14:05:05
新骗局来了!手机出现这几个信号,立即断网,骗子正远程偷你的钱

新骗局来了!手机出现这几个信号,立即断网,骗子正远程偷你的钱

三农老历
2026-07-06 19:23:05
洪秀柱、马英九、周锡玮、郑丽文:统一后首任行政长官谁最合适?

洪秀柱、马英九、周锡玮、郑丽文:统一后首任行政长官谁最合适?

解锁世界风云
2026-07-09 17:19:44
王楚钦这下老实了,退出两站比赛,遮羞布被扯下 刘国梁后悔也晚

王楚钦这下老实了,退出两站比赛,遮羞布被扯下 刘国梁后悔也晚

涵豆说娱
2026-07-09 10:58:37
朱芳雨亲自上门求贤!杜锋小学老师或将执教广东宏远

朱芳雨亲自上门求贤!杜锋小学老师或将执教广东宏远

去山野间追风
2026-07-09 08:12:11
2026-07-09 20:44:49
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3463文章数 11172关注度
往期回顾 全部

科技要闻

字节杀回来了!深度实测Seedream 5.0 Pro

头条要闻

一对兄妹被洪水卷走12岁哥哥获救 10岁妹妹下落不明

头条要闻

一对兄妹被洪水卷走12岁哥哥获救 10岁妹妹下落不明

体育要闻

王楚谈埃及判罚争议:足球没有绝对公平

娱乐要闻

陈翔发文“苍天饶过谁”登热搜,旧事再引关注

财经要闻

中国房地产十年

汽车要闻

长续航智美纯电轿跑 奇瑞风云A9开启预售11.59万起

态度原创

健康
游戏
教育
家居
军事航空

三高、肥胖人群能吃粘食吗?

实体光盘无可挽回!索尼PS官网更新 停产公告正式归档

教育要闻

中考择校速看!这所学校师资、升学实力拉满!国内国际升学全覆盖

家居要闻

2026建博会(广州) 公装联探展交流活动

军事要闻

四川舰甲板全貌完整亮相 专家:离正式交付不远

无障碍浏览 进入关怀版