RUVIDEO
Поделитесь видео 🙏

Pythonによる行列の特異値分解と低ランク近似を行う手順:画像ファイルへの適用 смотреть онлайн

📁 Обучение 👁️ 19 📅 03.12.2023

湯どうふと申します。
本チャンネルでは、化学に関する動画を配信しています。

音声:湯どうふ

キーワード:
Python、プログラミング、特異値分解、低ランク近似、対角行列、直交行列、画像、圧縮

#Pytho #特異値分 #低ランク近似

【コード例1】
svd00.py

import numpy as np
from scipy import linalg

A = np.array([[1,2,3], [4,5,6], [7,8,9]])
print("A")
print(A)

u, s, v = np.linalg.svd(A, full_matrices=False)
print("u")
print(u.round(2))

print("s")
print(np.diag(s))

print("v")
print(v.round(2))

print("check1")
check1 = np.dot(u, u.T)
print(check1.round(2))

print("check2")
check2 = np.dot(v, v.T)
print(check2.round(2))

print("reconstruction1")
usv = u @ np.diag(s) @ v
print(usv.round(2))

rank = 2
ur = u[:, :rank]
sr = np.matrix(linalg.diagsvd(s[:rank], rank, rank))
vr = v[:rank, :]

print("ur2")
print(ur.round(2))

print("sr2")
print(sr.round(2))

print("vr2")
print(vr.round(2))

print("reconstruction2")
Ar = ur @ sr @ vr
print(Ar.round(2))

rank = 1
ur = u[:, :rank]
sr = np.matrix(linalg.diagsvd(s[:rank], rank, rank))
vr = v[:rank, :]
print("ur1")
print(ur.round(2))

print("sr1")
print(sr.round(2))

print("vr1")
print(vr.round(2))

print("reconstruction3")
Ar = ur @ sr @ vr
print(Ar.round(2))

【コード例2】
svd01.py

from PIL import Image
import matplotlib.pyplot as plt
from scipy import linalg
import numpy as np

def perform_svd(a, rank):
a = np.asarray(a)
u, s, v = linalg.svd(a)
ur = u[:, :rank]
sr = np.matrix(linalg.diagsvd(s[:rank], rank, rank))
vr = v[:rank, :]
return np.asarray(ur @ sr @ vr)

def gray_convert(fig_name):
img = Image.open(fig_name)
gray_img = img.convert('L')
fig_name_gray = fig_name.replace(".jpeg", "_mono.jpeg")
gray_img.save(fig_name_gray)
return gray_img

fig_name = "svd_chem.jpeg"
rank = [1, 2, 3, 5, 10, 20, 50, 100]
gray_img = gray_convert(fig_name)
gray_pic_dict = {}
index = 0

for i in rank:
B = perform_svd(gray_img, i)
img2 = Image.fromarray(np.uint8(B))
fig_name_r = fig_name.replace(".jpeg", "r{}.jpeg".format(i))
print(fig_name_r)
img2.save(fig_name_r)
gray_pic_dict[index] = fig_name_r
index += 1

fig, axes = plt.subplots(2, 4, figsize=(14, 10), subplot_kw={'xticks': (), 'yticks': ()})

n = len(rank)
for i in range(n):
img = Image.open(gray_pic_dict[i])
axes[i//4][i%4].imshow(img, cmap='gray')
axes[i//4][i%4].set_title("rank = {}".format(rank[i]))

fig_name_sum = fig_name.replace(".jpeg", "_sum.jpeg")
fig.savefig(fig_name_sum)

【Python関係の動画】
pythonによる階層的クラスタリングとデンドログラム(樹形図)の作成: ward法をirisデータセットへ適用
https://youtu.be/I1YLk8pbs-Y

PythonプログラムによるExcelファイルの入出力
https://youtu.be/xNVh_WZfb1A

pythonによるウェブスクレイピング:Google Scholarから論文検索の結果を取得して表にする
https://youtu.be/2xWKr7MzzbQ

Cythonプログラムの動かし方と速度: pythonの高速化に向けて
https://youtu.be/T-ddo2V1HZE

pythonプログラムでyoutube-dlを使ってyoutube動画をダウンロードする方法
https://youtu.be/PcXM_Ay43gQ

pythonで画像中の文字認識をする方法(tesseract-OCR、pyocr)
https://youtu.be/STZt2HJJArE

Pythonプログラムによるプロットアニメーション
https://youtu.be/toPtylx-qfU

Pythonプログラムによるwordファイルの入出力とGoogle翻訳自動化作業
https://youtu.be/Sj1fbM0VVZ4

Pythonプログラムで3次元グラフを作成し保存する手順
https://youtu.be/2GQakHn4fTk

Pythonプログラムでグラフを作成し保存する手順
https://youtu.be/3y2GXJyPi-c

Pythonによるwebスクレイピングの初歩
https://youtu.be/afqFp9KSvaA

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Pythonによる行列の特異値分解と低ランク近似を行う手順:画像ファイルへの適用» бесплатно и без регистрации, вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.