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

python實現(xiàn)圖像高斯金字塔的示例代碼

 更新時間:2020年12月11日 09:54:03   作者:我堅信陽光燦爛  
這篇文章主要介紹了python實現(xiàn)圖像高斯金字塔的示例代碼,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
import cv2
import numpy as np
import matplotlib.pyplot as plt

# Grayscale
def BGR2GRAY(img):
  # Grayscale
  gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0]
  return gray

# Bi-Linear interpolation
def bl_interpolate(img, ax=1., ay=1.):
  if len(img.shape) > 2:
    H, W, C = img.shape
  else:
    H, W = img.shape
    C = 1

  aH = int(ay * H)
  aW = int(ax * W)

  # get position of resized image
  y = np.arange(aH).repeat(aW).reshape(aW, -1)
  x = np.tile(np.arange(aW), (aH, 1))

  # get position of original position
  y = (y / ay)
  x = (x / ax)

  ix = np.floor(x).astype(np.int)
  iy = np.floor(y).astype(np.int)

  ix = np.minimum(ix, W-2)
  iy = np.minimum(iy, H-2)

  # get distance 
  dx = x - ix
  dy = y - iy

  if C > 1:
    dx = np.repeat(np.expand_dims(dx, axis=-1), C, axis=-1)
    dy = np.repeat(np.expand_dims(dy, axis=-1), C, axis=-1)

  # interpolation
  out = (1-dx) * (1-dy) * img[iy, ix] + dx * (1 - dy) * img[iy, ix+1] + (1 - dx) * dy * img[iy+1, ix] + dx * dy * img[iy+1, ix+1]

  out = np.clip(out, 0, 255)
  out = out.astype(np.uint8)

  return out

# make image pyramid
def make_pyramid(gray):
  # first element
  pyramid = [gray]
  # each scale
  for i in range(1, 6):
    # define scale
    a = 2. ** i

    # down scale
    p = bl_interpolate(gray, ax=1./a, ay=1. / a)

    # add pyramid list
    pyramid.append(p)
    
  return pyramid

# Read image
img = cv2.imread("../bird.png").astype(np.float)

gray = BGR2GRAY(img)

# pyramid
pyramid = make_pyramid(gray)

for i in range(6):
  cv2.imwrite("out_{}.jpg".format(2**i), pyramid[i].astype(np.uint8))
  plt.subplot(2, 3, i+1)
  plt.title('1/' + str((i+1)**2) )
  plt.imshow(pyramid[i], cmap='gray')
  plt.axis('off')
  plt.xticks(color="None")
  plt.yticks(color="None")

plt.show()

以上就是python實現(xiàn)圖像高斯金字塔的示例代碼的詳細內(nèi)容,更多關(guān)于python 圖像高斯金字塔的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python獲取微信企業(yè)號打卡數(shù)據(jù)并生成windows計劃任務

    python獲取微信企業(yè)號打卡數(shù)據(jù)并生成windows計劃任務

    由于公司的系統(tǒng)用的是Java版本,開通了企業(yè)號打卡之后又沒有預算讓供應商做數(shù)據(jù)對接,所以只能自己搗鼓這個,以下是個人設(shè)置的一些內(nèi)容,僅供大家參考
    2019-04-04
  • python的依賴管理的實現(xiàn)

    python的依賴管理的實現(xiàn)

    這篇文章主要介紹了python的依賴管理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Selenium Webdriver元素定位的八種常用方式(小結(jié))

    Selenium Webdriver元素定位的八種常用方式(小結(jié))

    這篇文章主要介紹了Selenium Webdriver元素定位的八種常用方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python使用描述器實現(xiàn)ORM模型的方法詳解

    Python使用描述器實現(xiàn)ORM模型的方法詳解

    這篇文章主要為大家詳細介紹了Python描述器實現(xiàn)ORM模型,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python中的tcp示例詳解

    python中的tcp示例詳解

    這篇文章主要給大家介紹了關(guān)于python中tcp協(xié)議的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Python計算一個點到所有點的歐式距離實現(xiàn)方法

    Python計算一個點到所有點的歐式距離實現(xiàn)方法

    今天小編就為大家分享一篇Python計算一個點到所有點的歐式距離實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • selenium切換標簽頁解決get超時問題的完整代碼

    selenium切換標簽頁解決get超時問題的完整代碼

    這篇文章主要給大家介紹了關(guān)于selenium切換標簽頁解決get超時問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 詳解如何利用Python進行客戶分群分析

    詳解如何利用Python進行客戶分群分析

    每個電子商務數(shù)據(jù)分析師必須掌握的一項數(shù)據(jù)聚類技能,如果你是一名在電子商務公司工作的數(shù)據(jù)分析師,從客戶數(shù)據(jù)中挖掘潛在價值,來提高客戶留存率很可能就是你的工作任務之一。這篇就來告訴你如何將客戶分成不同的群組,并在一段時間內(nèi)觀察每個群組的留存率
    2023-02-02
  • Python異步操作MySQL示例【使用aiomysql】

    Python異步操作MySQL示例【使用aiomysql】

    這篇文章主要介紹了Python異步操作MySQL,結(jié)合實例形式分析了Python安裝及使用aiomysql針對mysql數(shù)據(jù)庫異步操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • Python正規(guī)則表達式學習指南

    Python正規(guī)則表達式學習指南

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎(chǔ)以及Python正則表達式標準庫的完整介紹及使用示例,非常不錯,具有參考借鑒價值,需要的朋友一起學習吧
    2016-08-08

最新評論