最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年11月05日 16:16:46   作者:cclplus  
這篇文章主要介紹了python SVD壓縮圖像的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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,用來(lái)表示一個(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è)簡(jiǎn)單的端口掃描器

    基于Python編寫一個(gè)簡(jiǎn)單的端口掃描器

    端口掃描是非常實(shí)用的,不止用在信息安全方面,日常的運(yùn)維也用得到。本文將利用Python編寫一個(gè)簡(jiǎn)單的端口掃描器,需要的可以參考一下
    2022-04-04
  • python中sys.argv函數(shù)精簡(jiǎn)概括

    python中sys.argv函數(shù)精簡(jiǎn)概括

    本篇文章給大家分享了關(guān)于python中sys.argv函數(shù)的相關(guān)知識(shí)點(diǎn),有興趣的朋友可以參考學(xué)習(xí)下。
    2018-07-07
  • python殺死一個(gè)線程的方法

    python殺死一個(gè)線程的方法

    由于python線程沒有提供abort方法,所以我們需要自己想辦法解決此問(wèn)題,面對(duì)這一問(wèn)題,小編幫大家解決phthon殺死一個(gè)線程的方法,需要的朋友一起來(lái)學(xué)習(xí)吧
    2015-09-09
  • Python圖像運(yùn)算之圖像閾值化處理詳解

    Python圖像運(yùn)算之圖像閾值化處理詳解

    這篇文章將詳細(xì)講解圖像閾值化處理,涉及閾值化處理、固定閾值化處理和自適應(yīng)閾值化處理,這是圖像邊緣檢測(cè)或圖像增強(qiáng)等處理的基礎(chǔ),感興趣的可以了解一下
    2022-04-04
  • python安裝pywifi全過(guò)程

    python安裝pywifi全過(guò)程

    這篇文章主要介紹了python安裝pywifi全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • DataFrame:通過(guò)SparkSql將scala類轉(zhuǎn)為DataFrame的方法

    DataFrame:通過(guò)SparkSql將scala類轉(zhuǎn)為DataFrame的方法

    今天小編就為大家分享一篇DataFrame:通過(guò)SparkSql將scala類轉(zhuǎn)為DataFrame的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • socket連接關(guān)閉問(wèn)題分析

    socket連接關(guān)閉問(wèn)題分析

    socket建立連接的時(shí)候是三次握手,這個(gè)大家都很清楚,但是socket關(guān)閉連接的時(shí)候,需要進(jìn)行四次揮手,但很多人對(duì)于這四次揮手的具體流程不清楚,吃了很多虧,本文來(lái)為大家進(jìn)行分析
    2022-01-01
  • 詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue

    詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能

    使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能

    這篇文章主要介紹了使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python工具之清理 Markdown 中沒有引用的圖片

    python工具之清理 Markdown 中沒有引用的圖片

    這篇文章主要介紹了python工具之清理 Markdown 中沒有引用的圖片,文章圍繞主題展開詳細(xì)的的內(nèi)容介紹,需要的朋友可以參考一下
    2022-06-06

最新評(píng)論

襄垣县| 固原市| 禹城市| 阜阳市| 卓尼县| 英德市| 东海县| 沙坪坝区| 洪江市| 高唐县| 习水县| 清河县| 沾化县| 玉山县| 成都市| 雷山县| 武乡县| 上虞市| 合作市| 深水埗区| 凤山市| 印江| 互助| 乌兰察布市| 嘉兴市| 长汀县| 公主岭市| 名山县| 当阳市| 佛坪县| 平谷区| 子长县| 深水埗区| 观塘区| 墨脱县| 尼勒克县| 兴海县| 河源市| 芮城县| 东乡| 钟祥市|