博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python OpenCV学习笔记之:图像金字塔
阅读量:6908 次
发布时间:2019-06-27

本文共 1373 字,大约阅读时间需要 4 分钟。

  hot3.png

# -*- coding: utf-8 -*-"""图像金字塔图像金字塔是以多分辨率来解释图像的一种结构。1987年,在一种全新而有效的信号处理与分析方法,即多分辨率理论中,小波首次作为分析基础出现了。多分辨率理论将多种学科的技术有效地统一在一起,如信号处理的子带编码、数字语音识别的积分镜像过滤以及金字塔图像处理。正如其名字所表达的,多分辨率理论与多种分辨率下的信号(或图像)表示和分析有关。其优势很明显,某种分辨率下无法发现的特性在另一种分辨率下将很容易被发现。参考:http://baike.baidu.com/item/%E5%9B%BE%E5%83%8F%E9%87%91%E5%AD%97%E5%A1%94"""import cv2import numpy as np,sysA = cv2.imread('../../../datas/images/apple.jpg')B = cv2.imread('../../../datas/images/pear.jpg')print(A.shape)print(B.shape)# 生成高斯金字塔G = A.copy()gpA = [G]for i in range(5):    G = cv2.pyrDown(G)    gpA.append(G)    print(G.shape)G = B.copy()gpB = [G]for i in range(5):    G = cv2.pyrDown(G)    gpB.append(G)    #print(G.shape)# 产生Laplacian金字塔lpA = [gpA[5]]for i in range(5,0,-1):    print(i)    print(gpA[i].shape)    print(gpA[i - 1].shape)    GE = cv2.pyrUp(gpA[i])    L = cv2.subtract(gpA[i-1],GE)    lpA.append(L)lpB = [gpB[5]]for i in range(5,0,-1):    GE = cv2.pyrUp(gpB[i])    L = cv2.subtract(gpB[i-1],GE)    lpB.append(L)# 合并LS = []for la,lb in zip(lpA,lpB):    rows,cols,dpt = la.shape    ls = np.hstack((la[:,0:cols/2], lb[:,cols/2:]))    LS.append(ls)# 重新构建图像ls_ = LS[0]for i in range(1,6):    ls_ = cv2.pyrUp(ls_)    ls_ = cv2.add(ls_, LS[i])# 连接real = np.hstack((A[:,:cols/2],B[:,cols/2:]))cv2.imshow("LS",ls_)cv2.imshow("Real",real)cv2.waitKey()cv2.destroyAllWindows()

转载于:https://my.oschina.net/wujux/blog/801933

你可能感兴趣的文章
nginx 报错502Bad Gateway
查看>>
决定转移ubuntu
查看>>
Linux下查看文件内容时去掉空行和#开头的注释行
查看>>
[转载]linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/p
查看>>
Python简易购物车程序
查看>>
mui 关闭除指定页面之外的其他所有页面.
查看>>
反向引用 /1, /2...
查看>>
STM32配置一般过程(持续更新中)
查看>>
第十四天笔记
查看>>
使用正则表达式,取得点击次数,函数抽离
查看>>
网上安全方面的涉及到的方面(详解)
查看>>
UOJ #390. 【UNR #3】百鸽笼
查看>>
单向链表的建立与遍历
查看>>
Java Web整合开发(16) -- Struts 2.x 概述
查看>>
ArcSDE 直连问题
查看>>
WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点
查看>>
使用LoadRunner监控Apache的步骤 (转)
查看>>
netstat 命令详解
查看>>
python docopt模块详解
查看>>
第二阶段冲刺-05
查看>>