原图片:(加了掩膜 )
掩膜()黑色的是掩膜
修复后的图片(不同迭代次数)
# 返回的是补全结果?
import cv2
import numpy as np
import matplotlib.pyplot as plt
def tv_inpaint(pic_array,mask_array):
# tv算法
height,width = pic_array.shape
pic_copy = pic_array.copy()
lambda_number = 0.2
a = 0.5 # 避免分母为0.
for i in range(0 + 1, height - 1):
for j in range(0 + 1, width - 1):
if mask_array[i, j] == 0:
Un = np.sqrt((pic_array[i, j] - pic_array[i - 1, j]) ** 2 + ((pic_array[i - 1, j - 1] - pic_array[i - 1, j + 1]) / 2) ** 2);
Ue = np.sqrt((pic_array[i, j] - pic_array<