当前位置: 首页 > news >正文

网页设计网站开发培训专业搜索引擎seo公司

网页设计网站开发培训,专业搜索引擎seo公司,asp网站建设类论文,网站模板定做前面我们介绍了高斯金字塔,高斯金字塔是通过对一幅图像一系列的向下采样所产生的。有时,我们希望通过对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像,这时就需要用到拉普拉斯金字塔 前面我们已经介绍过,一幅图像在…

前面我们介绍了高斯金字塔,高斯金字塔是通过对一幅图像一系列的向下采样所产生的。有时,我们希望通过对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像,这时就需要用到拉普拉斯金字塔

前面我们已经介绍过,一幅图像在经过向下采样后,再对其进行向上采样,是无法恢复为原始状态的。对此,我们也用程序进行了验证。向上采样并不是向下采样的逆运算。这是很明显的,因为向下采样时在使用高斯滤波器处理后还要抛弃偶数行和偶数列,不可避免地要丢失一些信息。

为了在向上采样时能够恢复具有较高分辨率的原始图像,就要获取在采样过程中所丢失的信息,这些丢失的信息就构成了拉普拉斯金字塔。

拉普拉斯金字塔的定义形式为:

Li = Gi - pyrUp(Gi + 1)

式中:

  • Li表示拉普拉斯金字塔中的第 i 层。
  • Gi表示高斯金字塔中的第 i 层。

拉普拉斯金字塔中的第 i 层,等于“高斯金字塔中的第 i 层”与“高斯金字塔中的第 i+1 层的向上采样结果”之差。图 11-11 展示了高斯金字塔和拉普拉斯金字塔的对应关系。

在这里插入图片描述

代码示例:使用函数 cv2.pyrDown()和 cv2.pyrUp()构造拉普拉斯金字塔。


import cv2
O=cv2.imread("lena.png")
G0=O
G1=cv2.pyrDown(G0)
G2=cv2.pyrDown(G1)
G3=cv2.pyrDown(G2)
L0=G0-cv2.pyrUp(G1)
L1=G1-cv2.pyrUp(G2)
L2=G2-cv2.pyrUp(G3)
print("L0.shape=",L0.shape)
print("L1.shape=",L1.shape)
print("L2.shape=",L2.shape)
cv2.imshow("L0",L0)
cv2.imshow("L1",L1)
cv2.imshow("L2",L2)
cv2.waitKey()
cv2.destroyAllWindows()

程序运行后,会输出如下运行结果:

L0.shape= (512, 512, 3)
L1.shape= (256, 256, 3)
L2.shape= (128, 128, 3)

在这里插入图片描述
1 中图是通过语句“L0=G0-cv2.pyrUp(G1)”,用“原始图像 G0”减去“图像 G1 的向上
采样结果”,得到的拉普拉斯金字塔的第 0 层 L0。
右边图是通过语句“L1=G1-cv2.pyrUp(G2)”,用“图像 G1”减去“图像 G2 的向上采样
结果”,得到的拉普拉斯金字塔的第 1 层 L1。
左边小图是通过语句“L2=G2-cv2.pyrUp(G3)”,用“图像 G2”减去“图像 G3 的向上采样
结果”,得到的拉普拉斯金字塔的第 2 层 L2。

如何恢复原图?

拉普拉斯金字塔的作用在于,能够恢复高分辨率的图像。图 11-13 演示了如何通过拉普拉斯金字塔恢复高分辨率图像。其中,右图是对左图的简化。

在这里插入图片描述

图 11-13 中的各个标记的含义如下:

  1. G0、G1、G2、G3分别是高斯金字塔的第 0 层、第 1 层、第 2 层、第 3 层。
  2. L0、L1、L2分别是拉普拉斯金字塔的第 0 层、第 1 层、第 2 层。
  3. 向下的箭头表示向下采样操作(对应 cv2.pyrDown()函数)。
  4. 向右上方的箭头表示向上采样操作(对应 cv2.pyrUp()函数)。
  5. 加号“+”表示加法操作。
  6. 减号“-”表示减法操作。

在图 11-13 中,描述的操作及关系有:

  1. 向下采样(高斯金字塔的构成)
G1=cv2.pyrDown(G0)
G2=cv2.pyrDown(G1)
G3=cv2.pyrDown(G2)
  1. 拉普拉斯金字塔
L0=G0-cv2.pyrUp(G1)
L1=G1-cv2.pyrUp(G2)
L2=G2-cv2.pyrUp(G3)
  1. 向上采样恢复高分辨率图像
G0=L0+cv2.pyrUp(G1)
G1=L1+cv2.pyrUp(G2)
G2=L2+cv2.pyrUp(G3)

上述关系是通过数学运算推导得到的。例如,已知L0=G0cv2.pyrUp(G1),将表达式右侧的 cv2.pyrUp(G1)移到左侧,就得到了表达式 G0=L0+cv2.pyrUp(G1)。除此之外,G1 和 G2 都可以通过拉普拉斯金字塔的构造表达式得到。在前面已经介绍过了,构造拉普拉斯金字塔的目的就是为了恢复高分辨率的图像。

代码示例:

import cv2
import numpy as np
O=cv2.imread("lena.png")
#==============生成高斯金字塔===================
G0=O
G1=cv2.pyrDown(G0)
G2=cv2.pyrDown(G1)
G3=cv2.pyrDown(G2)
#============生成拉普拉斯金字塔===================
L0=G0-cv2.pyrUp(G1) #拉普拉斯金字塔第 0 层
L1=G1-cv2.pyrUp(G2) #拉普拉斯金字塔第 1 层
L2=G2-cv2.pyrUp(G3) #拉普拉斯金字塔第 2 层
#=================复原 G0======================
RG0=L0+cv2.pyrUp(G1) #通过拉普拉斯图像复原的原始图像 G0cv2.imshow("L0",L0)
cv2.imshow("L1",L1)
cv2.imshow("L2",L2)
cv2.imshow("RG0",RG0)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

http://www.khdw.cn/news/1056.html

相关文章:

  • dw2019怎么做网站平台推广营销
  • 动态网站开发流程慧达seo免登录发布
  • 昆明制作手机网站湖南seo优化公司
  • 东莞常平网站建设百度推广总部客服投诉电话
  • 营销型网站建设合同模板个人网页设计作品模板
  • 自己做网站推广需要多少钱微博营销策略
  • 5x兴趣社区app怎么开发seo就业哪家好
  • 帝国系统怎样做网站地图网络排名优化软件
  • 网站建设 18556502558石家庄网络推广优化
  • wordpress对seo友好吗厦门seo关键词优化代运营
  • 有关西安的网页设计优化推广网站seo
  • 网站建设seo优化公司济南疫情最新消息
  • 图书馆网站建设目标常德seo招聘
  • 网站的原型怎么做企业宣传片文案
  • 北京网站制作百度推广如何在百度发广告
  • 做团购网站商品从哪里找广州今日头条新闻最新
  • 网站的网站地图怎么做互站网
  • 请人做网站合同指数查询
  • 网站上传的视频播放卡永久免费linux服务器
  • 郑州商城网站建设搜索引擎优化排名案例
  • 深圳二维码网站建设合肥网站seo整站优化
  • 网站做动态图片大全如何创建一个网站
  • 幼儿园 网站 模板郑州网络营销
  • 首页面设计的步骤百度seo竞价推广是什么
  • 动态网站制作教程优就业seo
  • 制作网站收费拼多多seo 优化软件
  • 外包网站设计哪家好百度入驻绍兴
  • php与python做网站创建一个网站
  • 中国建设教育网站南昌seo优化
  • 麻将棋牌网站开发凤凰网台湾资讯