opencv python學習筆記十七

2021-09-02 16:52:47 字數 3590 閱讀 9297

20 影象金字塔

高斯金字塔

拉普拉斯金字塔

所用函式:

defpyrdown(src,

#輸入影象

dst=none,

#輸出影象

dstsize=none,

#輸出影象的大小

bordertype=none)

#影象邊界的處理方式

defpyrup(src,

dst=none,

dstsize=none,

bordertype=none)

1 原理

示例**如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2016/11/21 14:01

# @author : retacn

# @site :

影象金字塔

2 使用金字塔進行影象融合

示例**如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2016/11/21 14:44

# @author : retacn

# @site :

影象融合

# @file : imagefusion.py

# @software: pycharm

importcv2

importnumpyasnp,sys

frommatplotlibimportpyplotasplt

"""

使得img1

的大小與

img2

相同"""

defsamesize(img1, img2):

rows, cols, dpt = img2.shape

dst = img1[:rows,:cols]

returndst

#讀入影象

#為影象蘋果建立乙個高斯金字塔

foriinrange(6

):temp_c=cv2.pyrdown(temp_c)

#為影象橙子建立乙個高斯金字塔

temp_c=orange.copy()

orange_gp=[temp_c]

foriinrange(6

):temp_c=cv2.pyrdown(temp_c)

#為影象蘋果建立乙個拉普拉斯金字塔5]]

foriinrange(5

,0,-1

):11]))

#為影象橙子建立乙個拉普拉斯金字塔

orange_lp=[orange_gp[5]]

foriinrange(5

,0,-1

):ge=cv2.pyrup(orange_gp[i])

l=cv2.subtract(orange_gp[i-

1],samesize(ge,orange_gp[i-

1]))

#1/2 laplace

金字塔進行拼接

ls=for inzip

0:cols/

2], orange_l[:,cols/

2:]))

#對拼接後的

laplace

金字塔重建

,取得融合後的影象

ls_=ls[0]

foriinrange(1

,6):ls_=cv2.pyrup(ls_)

ls_=cv2.add(samesize(ls_,ls[i]),ls[i])

2],orange[:,cols/

2:]))

#儲存影象

#顯示影象

plt.subplot(

121),plt.imshow(ls_,'gray')

plt.title('ls_')

plt.subplot(

122),plt.imshow(real,'gray')

plt.title('real')

plt.show()

opencv python學習筆記八

十 影象上的算術運算 常用運算有 加法 減法 位運算 cv2.add cv2.addweighted 函式原型 defadd src1,src2,dst none,mask none,dtype none defaddweighted src1,第乙個原陣列 alpha,第乙個原陣列的權值 src2...

opencv python學習筆記十一

14 幾何變換 移動,旋轉 仿射變換 常用函式 cv2.getperspectivetransform 函式原型 defgetperspectivetransform src,dst cv2.warpaffine 函式原型,接收 2 3的矩陣 defwarpaffine src,輸入源影象 m,透視...

OpenCV python學習筆記 二

不多說,上 全在裡面 coding utf 8 import numpy as np import cv2 目標 獲取畫素值並修改 獲取影象的資訊 影象的rio 圖象通道的拆分及合併 step1 獲取影象的資訊 讀取 讀入彩色圖和灰度圖 獲取資訊 影象的資訊包括 行 列 通道 影象資料型別 畫素數目...