图像修复是去除图像上的噪声, 笔触或文本等损坏的过程。在恢复可能有刮擦边缘或墨水斑点的旧照片时, 此功能特别有用。这些可以通过这种方法以数字方式删除。
图像修复的工作原理是将损坏的像素替换为与相邻像素相似的像素, 从而使其不显眼并帮助它们与背景完美融合。考虑下图。
文章图片
图像右侧有一些标记。要绘制此图像,我们需要一个蒙版,它本质上是一个带有白色标记的黑色图像,以指示需要校正的区域。在本例中,掩码是在GIMP上手动创建的。
文章图片
修复算法–
OpenCV实现了两种修复算法:
- “
基于快速行进方法的图像修复技术”
, Alexandru Telea, 2004年:
这基于快速行进方法(FMM)。观察要修复的区域, 该算法首先从边界像素开始, 然后转到边界内的像素。它用背景中像素的加权总和替换要修复的每个像素, 而较重的像素分配给较近的像素和边界像素。 - ”
Navier-Stokes, 流体动力学以及图像和视频修补”
, Berttalio, Marcelo, Andrea L. Bertozzi和Guillermo Sapiro, 2001年:
该算法受偏微分方程启发。从边缘(已知区域)向未知区域开始, 它传播等张线(连接相同强度点的线)。最后, 将区域的差异最小化以填充颜色。
import numpy as np
import cv2# Open the image.
img = cv2.imread( 'cat_damaged.png' )# Load the mask.
mask = cv2.imread( 'cat_mask.png' , 0 )# Inpaint.
dst = cv2.inpaint(img, mask, 3 , cv2.INPAINT_NS)# Write the output.
cv2.imwrite( 'cat_inpainted.png' , dst)
【使用OpenCV进行图像修复-项目示例】输出如下:
文章图片
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Java中的图像处理S6(将彩色图像转换为棕褐色图像)
- 使用K均值聚类的图像压缩
- 使用霍夫曼编码进行图像压缩原理和实现细节
- 使用CNN的图像分类器原理和实现
- Python在Kivy中设置背景模板示例
- htop命令总结
- docker-compose部署nginx#yyds干货盘点#
- Linux第11周
- 显示磁盘空间使用情况的命令来咯,冲吧,点赞加关注后面还有更精彩的!