python 用opencv实现图像修复和图像金字塔


Posted in Python onNovember 27, 2020

我们将学习如何通过一种称为修复的方法去除旧照片中的小噪音,笔画等。基本思路很简单:用相邻像素替换那些坏标记,使其看起来像邻域。

cv2.inpaint()

  • cv2.INPAINT_TELEA
  • cv2.INPAINT_NS
import numpy as np
import cv2 as cv

img = cv.imread('messi_2.jpg')
mask = cv.imread('mask2.png',0)

dst = cv.inpaint(img,mask,3,cv.INPAINT_TELEA)

cv.imshow('dst',dst)
cv.waitKey(0)
cv.destroyAllWindows()

第一张图显示降级输入,第二个图像是面具,第三个图像是第一个算法的结果,最后一个图像是第二个算法的结果。

python 用opencv实现图像修复和图像金字塔

图像金字塔

通常,我们曾经使用恒定大小的图像.但在某些情况下,我们需要使用不同分辨率的(相同)图像.例如,在搜索图像中的某些内容时,如脸部,我们不确定该对象在所述图像中的大小.

具有不同分辨率的图像被称为图像金字塔(因为当它们保持在堆叠中,底部具有最高分辨率图像而顶部具有最低分辨率图像时,它看起来像金字塔).

图像金字塔有两种:

  1. 高斯金字塔和
  2. 拉普拉斯金字塔

高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的.顶部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值.这样操作一次一个 MxN 的图像就变成了一个 M/2xN/2 的图像。所以这幅图像的面积就变为原来图像面积的四分之一.这被称为an Octave(一个八度)。连续进行这样的操作就会得到一个分辨率不断下降的图像金字塔.

函数cv2.pyrDown()从一个高分辨率大尺寸的图像向上构建一个金子塔 (尺寸变小,分辨率降低).
代码:

import cv2

img = cv2.imread('img.jpg')

lower_reso = cv2.pyrDown(img)

cv2.imshow('src',img)
cv2.imshow('HigherReso',lower_reso)

cv2.waitKey()

python 用opencv实现图像修复和图像金字塔

继续使用函数cv2.pyrUp()从一个低分辨率小尺寸的图像向下构建一个金子塔(尺寸变大,但分辨率不会增加)
代码:

import cv2

img = cv2.imread('img.jpg')

lower_reso = cv2.pyrDown(img)
higher_reso2 = cv2.pyrUp(lower_reso)

cv2.imshow('show',higher_reso2)

cv2.waitKey()

python 用opencv实现图像修复和图像金字塔

NOTE:

当用 cv2.pyrDown(),图像的分辨率就会降低,信息就会被丢失.如果先cv2.pyrDown()产生的中间图像再使用函数cv2.pyrUp()得到图像,与原图像相比分辨率差了很多.
可以修改代码:

import cv2

img = cv2.imread('img.jpg')

higher_reso2 = cv2.pyrUp(img)
lower_reso = cv2.pyrDown(higher_reso2)


cv2.imshow('show',lower_reso)

cv2.waitKey()

拉普拉斯金字塔由高斯金字塔形成,大部分元素都是零,用于图像压缩.
代码:

import cv2

img = cv2.imread('img.jpg')
img = cv2.Canny(img, 100, 200)

higher_reso2 = cv2.pyrUp(img)
lower_reso = cv2.pyrDown(higher_reso2)

cv2.imshow('src',img)
cv2.imshow('higher_reso2',higher_reso2)
cv2.imshow('lower_reso',lower_reso)

cv2.waitKey()

python 用opencv实现图像修复和图像金字塔

以上就是python 用opencv实现图像修复和图像金字塔的详细内容,更多关于python 图像修复和图像金字塔的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中pygame模块用法实例
Oct 09 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
May 05 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
tensorflow如何继续训练之前保存的模型实例
Jan 21 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 Python
python代数式括号有效性检验示例代码
Oct 04 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 Python
OpenCV 图像梯度的实现方法
Jul 25 Python
Python函数调用追踪实现代码
Nov 27 #Python
Numpy中np.max的用法及np.maximum区别
Nov 27 #Python
python 实现aes256加密
Nov 27 #Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 #Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 #Python
Python基于template实现字符串替换
Nov 27 #Python
使用Python画了一棵圣诞树的实例代码
Nov 27 #Python
You might like
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
javascript 写类方式之三
2009/07/05 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
JavaScript模拟push
2016/03/06 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
使用Python下载Bing图片(代码)
2013/11/07 Python
python基础教程之序列详解
2014/08/29 Python
利用python获取Ping结果示例代码
2017/07/06 Python
python实现滑雪游戏
2020/02/22 Python
Python使用type动态创建类操作示例
2020/02/29 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
C语言基础笔试题
2013/04/27 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
培训主管的岗位职责
2013/11/23 职场文书
计算机专业学生的自我评价
2013/12/15 职场文书
关于人生的感言
2014/01/17 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers