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

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

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

前言

利用SVD是可以對圖像進(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è)特征值

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    python安裝pywifi全過程

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

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

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

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

    socket建立連接的時(shí)候是三次握手,這個(gè)大家都很清楚,但是socket關(guān)閉連接的時(shí)候,需要進(jìn)行四次揮手,但很多人對于這四次揮手的具體流程不清楚,吃了很多虧,本文來為大家進(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ì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁功能

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

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

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

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

最新評論

会昌县| 文安县| 饶河县| 安达市| 万山特区| 安庆市| 民县| 汕尾市| 桦南县| 泰安市| 临澧县| 麦盖提县| 界首市| 望都县| 新宁县| 垣曲县| 宝坻区| 峨边| 德兴市| 容城县| 呼和浩特市| 堆龙德庆县| 北海市| 锡林郭勒盟| 岚皋县| 施甸县| 恭城| 驻马店市| 会昌县| 三门县| 龙游县| 宜城市| 常德市| 定陶县| 宝清县| 仁布县| 格尔木市| 涟水县| 休宁县| 太谷县| 侯马市|