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获取DLL和EXE文件版本号的方法
Mar 10 Python
Python字符串处理实现单词反转
Jun 14 Python
Python实现图片转字符画的示例
Aug 22 Python
python监控键盘输入实例代码
Feb 09 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
python学生信息管理系统实现代码
Dec 17 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
Django如何重置migration的几种情景
Feb 24 Python
python实现简易名片管理系统
Apr 11 Python
Python游戏开发实例之graphics实现AI五子棋
Nov 01 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
PHP查询网站的PR值
2013/10/30 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
微信红包随机生成算法php版
2016/07/21 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
用Python制作简单的钢琴程序的教程
2015/04/01 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python实现将xml导入至excel
2015/11/20 Python
python算法表示概念扫盲教程
2017/04/13 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
2019/08/09 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
高校教师自荐信范文
2014/03/13 职场文书
公司捐款倡议书
2014/05/14 职场文书
滞留工资返还协议书
2014/10/19 职场文书
2014年干部作风建设总结
2014/10/23 职场文书