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

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

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

前言

利用SVD是可以對圖像進行壓縮的,其核心原因在于,圖像的像素之間具有高度的相關(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ù)組為三個數(shù),分別表示RGB,用來表示一個像素
  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)

原圖

取二十個特征值

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

相關(guān)文章

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

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

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

    用Python寫一個自動木馬程序

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

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

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

    python對gif圖壓縮的完美解決方案

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

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

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

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

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

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

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

    python繪圖方法實例入門

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

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

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

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

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

最新評論