python 使用接缝雕刻移除目标

发布于:2022-12-29 ⋅ 阅读:(438) ⋅ 点赞:(0)

以使用接缝雕刻从图像中去除目标或人工痕迹。这就需要用较低的值
对目标区域进行加权,因为在接缝雕刻中较低的权重被优先删除。如下代码使用了与原始输入照片形状相同的掩模图像,掩盖了包含低权重的狗图像的区域,这表明应该将其移除.

import pylab
from skimage.io import imread
from skimage.color import rgb2gray
from skimage import transform, util, filters, color
import cv2
from PIL import Image

image = cv2.imread('./9781789343731_Code/images/man2.png')[:,:,::-1]
mask_image = rgb2gray(imread('./9781789343731_Code/images/man_mask.png'))
print(image.shape)
print(mask_image.shape)

pylab.figure(figsize=(15, 10))
pylab.subplot(121), pylab.imshow(image), pylab.title('Original image'),pylab.axis('off')
# pylab.subplot(122), pylab.imshow(mask_image), pylab.title('Mask image')
# pylab.axis('off')
# pylab.show()

# pylab.figure(figsize=(15, 12))
pylab.subplot(122)
pylab.title('Object remove(dog)')
out = transform.seam_carve(image, mask_image, 'vertical', 90)
# resized = transform.resize(out, image.shape, mode='reflect')
# out = transform.resize(out, (image.shape[0], image.shape[1]), mode='reflect')

# image = util.img_as_float(image)
# eg = filters.sobel(color.rgb2gray(image))

pylab.imshow(out)
pylab.axis('off')
pylab.show()

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到