欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python SVD壓縮圖像的實(shí)現(xiàn)代碼

 更新時(shí)間:2019年11月05日 16:16:46   作者:cclplus  
這篇文章主要介紹了python SVD壓縮圖像的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

利用SVD是可以對(duì)圖像進(jìn)行壓縮的,其核心原因在于,圖像的像素之間具有高度的相關(guān)性。

代碼

# -*- coding: utf-8 -*-
'''
author@cclplus
date:2019/11/3
'''
import cv2
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
#轉(zhuǎn)為u8類型
def restore1(u, sigma, v, k):
  m = len(u)
  n = len(v)
  a = np.zeros((m, n))
  a = np.dot(u[:, :k], np.diag(sigma[:k])).dot(v[:k, :])
  a[a < 0] = 0
  a[a > 255] = 255
  return np.rint(a).astype('uint8')
def SVD(frame,K=10):
  a = np.array(frame)
  #由于是彩色圖像,所以3通道。a的最內(nèi)層數(shù)組為三個(gè)數(shù),分別表示RGB,用來表示一個(gè)像素
  u_r, sigma_r, v_r = np.linalg.svd(a[:, :, 0])
  u_g, sigma_g, v_g = np.linalg.svd(a[:, :, 1])
  u_b, sigma_b, v_b = np.linalg.svd(a[:, :, 2])
  R = restore1(u_r, sigma_r, v_r, K)
  G = restore1(u_g, sigma_g, v_g, K)
  B = restore1(u_b, sigma_b, v_b, K)
  I = np.stack((R, G, B), axis = 2)
  return I
   

if __name__ == "__main__":
  mpl.rcParams['font.sans-serif'] = [u'simHei']
  mpl.rcParams['axes.unicode_minus'] = False
  frame = cv2.imread("./liuyifei.bmp")
  I = SVD(frame,40)
  plt.imshow(I)
  cv2.imwrite("out.bmp",I)

原圖

取二十個(gè)特征值

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用python將多個(gè)excel文件合并到同一個(gè)文件的方法

    使用python將多個(gè)excel文件合并到同一個(gè)文件的方法

    這篇文章主要介紹了使用python將多個(gè)excel文件合并到同一個(gè)文件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 用Python寫一個(gè)自動(dòng)木馬程序

    用Python寫一個(gè)自動(dòng)木馬程序

    這篇文章主要介紹了用Python寫一個(gè)自動(dòng)木馬程序的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python的numpy模塊安裝不成功簡(jiǎn)單解決方法總結(jié)

    python的numpy模塊安裝不成功簡(jiǎn)單解決方法總結(jié)

    這篇文章主要介紹了python的numpy模塊安裝不成功簡(jiǎn)單解決方法總結(jié),分享了四種python模塊導(dǎo)入不成功的解決方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • python對(duì)gif圖壓縮的完美解決方案

    python對(duì)gif圖壓縮的完美解決方案

    上圖圖片的時(shí)候由于圖片太大,導(dǎo)致上次不成功,因此需要對(duì)文件進(jìn)行統(tǒng)一壓縮,這篇文章主要給大家介紹了關(guān)于python對(duì)gif圖壓縮的完美解決方案,需要的朋友可以參考下
    2021-11-11
  • python和c語言的主要區(qū)別總結(jié)

    python和c語言的主要區(qū)別總結(jié)

    在本篇文章里小編給各位整理了關(guān)于python和c語言的主要區(qū)別的相關(guān)知識(shí)帖內(nèi)容,有需要的朋友們學(xué)習(xí)閱讀下。
    2019-07-07
  • 基于Python實(shí)現(xiàn)成語填空游戲的示例代碼

    基于Python實(shí)現(xiàn)成語填空游戲的示例代碼

    成語填空想必大家都是十分熟悉的了,特別是有在上小學(xué)的家長(zhǎng)肯定都有十分深刻的印象。當(dāng)然了你也別小看了成語調(diào)控小游戲,有的時(shí)候知識(shí)儲(chǔ)備不夠,你還真的不一定猜得出來是什么。本文就來用Python編寫一個(gè)簡(jiǎn)單的成語填空游戲,感興趣的可以了解下
    2023-02-02
  • 如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram

    如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram

    在計(jì)算語言學(xué)中,n-gram 對(duì)于語言處理、上下文和語義分析非常重要,它們是從令牌字符串中相鄰的連續(xù)單詞序列,本文將討論如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram,感興趣的朋友一起看看吧
    2023-09-09
  • python繪圖方法實(shí)例入門

    python繪圖方法實(shí)例入門

    這篇文章主要介紹了python繪圖方法,實(shí)例分析了Python的繪圖技巧,涉及Python中matplotlib模塊的使用方法,需要的朋友可以參考下
    2015-05-05
  • numpy數(shù)組的維度、軸及運(yùn)用詳解

    numpy數(shù)組的維度、軸及運(yùn)用詳解

    這篇文章主要介紹了numpy數(shù)組的維度、軸詳解,numpy數(shù)組的某個(gè)軸,指的是:該數(shù)組的某個(gè)維度的方向,其方向從索引號(hào)由底到高,許多numpy方法或函數(shù)在調(diào)用時(shí),常常需要指定一個(gè)關(guān)鍵參數(shù)“axis=X”,它表示的是沿哪個(gè)軸的方向進(jìn)行運(yùn)算,需要的朋友可以參考下
    2023-09-09
  • 教你掌握分布式訓(xùn)練PyTorch?DDP到Accelerate到Trainer

    教你掌握分布式訓(xùn)練PyTorch?DDP到Accelerate到Trainer

    這篇文章主要為大家介紹了教你掌握分布式訓(xùn)練PyTorch?DDP到Accelerate到Trainer
    2023-02-02

最新評(píng)論