Pythonによる行列の特異値分解と低ランク近似を行う手順:画像ファイルへの適用 смотреть онлайн
湯どうふと申します。
本チャンネルでは、化学に関する動画を配信しています。
音声:湯どうふ
キーワード:
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. Если вы правообладатель, обратитесь к первоисточнику.