OpenCV 图像修补 | 您所在的位置:网站首页 › cad如何补全不完整的圆 › OpenCV 图像修补 |
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 实验室设备网 版权所有 |