OpenCV 图像修补 您所在的位置:网站首页 cad如何补全不完整的圆 OpenCV 图像修补

OpenCV 图像修补

2023-11-25 19:47| 来源: 网络整理| 查看: 265

OpenCV中图像修补技术由inpaint函数实现。

基本步骤是:先修复区域边缘再逐步向内推进修复。

可以用来清除照片灰尘、划痕或者从静态图像及视频中去除不需要的物体。

图像修补函数—cv2.inpaint()

def inpaint(src, inpaintMask, inpaintRadius, flags, dst=None): # inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) -> dst src:输入图像,需要为8位单通道(dtype=uint8)或三通道图像inpaintMask:修复掩膜,为八位单通道图像,其中非0像素表示需要修补的区域dst:函数调用后输出图像,和原图一样的尺寸和类型inpaintRadius:需要修补的每一个点的圆形邻域,为修复算法的半径参考(决定修补图像的清晰度)flags: 修补方法的标识符

flags有两种算法:基于Navier-Stokes方程方法和Alexandru Telea算法

INPAINT_NS = CV_INPAINT_NSINPAINT_TELEA = CV_INPAINT_TELEA

图像修补示例 在这里插入图片描述在这里插入图片描述

import numpy as np import cv2 img = cv2.imread('../data/messi_2.jpg') # 读取目标图片 mask = cv2.imread('../data/mask2.png', 0) # 读取掩膜图片 dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA) # 使用INPAINT_TELEA算法进行修复 cv2.imshow('TELEA', dst) dst2 = cv2.inpaint(img, mask, 3, cv2.INPAINT_NS) # 使用INPAINT_NS算法进行修复 cv2.imshow('NS', dst2) cv2.waitKey(0) cv2.destroyAllWindows()

在这里插入图片描述在这里插入图片描述

注意:图片修补技术也可以对图片进行去水印操作



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有