我们将学习如何通过一种称为修复的方法去除旧照片中的小噪音,笔画等。基本思路很简单:用相邻像素替换那些坏标记,使其看起来像邻域。
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()
第一张图显示降级输入,第二个图像是面具,第三个图像是第一个算法的结果,最后一个图像是第二个算法的结果。
图像金字塔
通常,我们曾经使用恒定大小的图像.但在某些情况下,我们需要使用不同分辨率的(相同)图像.例如,在搜索图像中的某些内容时,如脸部,我们不确定该对象在所述图像中的大小.
具有不同分辨率的图像被称为图像金字塔(因为当它们保持在堆叠中,底部具有最高分辨率图像而顶部具有最低分辨率图像时,它看起来像金字塔).
图像金字塔有两种:
- 高斯金字塔和
- 拉普拉斯金字塔
高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的.顶部图像中的每个像素值等于下一层图像中 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()
继续使用函数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()
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 图像修复和图像金字塔的资料请关注其它相关文章!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。