从jpeg图像中删除图标

问题描述 投票:1回答:1

有什么方法可以从原来没有图标的图像中删除图标。

也许在hexdump的帮助下?

这里是图像的示例。

enter image description here

是否可以从其中删除心脏图标?

*我真的不需要这张图片,仅是举例来说

image image-processing recovery hexdump
1个回答
1
投票

一种方法是使用颜色阈值获得二进制掩码,该二进制掩码可用于隔离所需保留的区域。一旦有了这个面具,我们就可以按位操作,并有效去除心脏


在使用HSV上下限进行颜色阈值处理之后,我们获得了此蒙版

enter image description here

[要移除心脏,我们反转蒙版,该蒙版代表我们要保留的图像中的所有区域,然后按位进行输入-并与输入图像进行按位。由于您未指定要替换的内容,因此我仅将删除的区域涂成白色。这是使用Python和OpenCV的实现]

enter image description here

import numpy as np
import cv2

image = cv2.imread('1.jpg')
original = image.copy()
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower = np.array([0, 138, 155])
upper = np.array([179, 255, 255])
mask = cv2.inRange(hsv, lower, upper)
invert = 255 - mask
result = cv2.bitwise_and(original, original, mask=invert)
result[invert==0] = (255,255,255)

cv2.imshow('mask', mask)
cv2.imshow('result', result)
cv2.waitKey()
© www.soinside.com 2019 - 2024. All rights reserved.