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 相关文章推荐
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
python动态进度条的实现代码
Jul 03 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
关于python字符串方法分类详解
Aug 20 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
宝塔更新Python及Flask项目的部署
Apr 11 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 htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
JavaScript 变量作用域分析
2011/07/04 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
python 读写txt文件 json文件的实现方法
2016/10/22 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
python 中如何获取列表的索引
2019/07/02 Python
Python collections模块的使用方法
2020/10/09 Python
Django实现随机图形验证码的示例
2020/10/15 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
怎样声明接口
2014/09/19 面试题
优秀医生事迹材料
2014/02/12 职场文书
升国旗仪式主持词
2014/03/19 职场文书
低碳生活倡议书
2014/04/14 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL