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 獲取影象的資訊 讀取 讀入彩色圖和灰度圖 獲取資訊 影象的資訊包括 行 列 通道 影象資料型別 畫素數目...