【问题标题】:Remove icon from jpeg image从 jpeg 图像中删除图标
【发布时间】:2019-10-11 22:15:52
【问题描述】:

有没有办法从图片中删除原来没有图标的图标。

也许在 hexdump 的帮助下?

这是一个图像示例。

有没有办法去掉心形图标?

*我真的不需要这张图片,它只是举例

【问题讨论】:

  • 你会用什么来代替它?图标下的所有内容都已被删除,无法知道应该去那里。
  • @MarkRansom 好的,这是我的问题,有没有办法返回图标下的内容,所以你说 100% 无法返回图标下的数据?

标签: image image-processing recovery hexdump


【解决方案1】:

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


在使用 HSV 上下限进行颜色阈值化后,我们得到了这个掩码

为了移除心脏,我们将表示图像中我们想要保留的所有区域的掩码反转,然后与输入图像一起按位反转。由于您没有指定要替换它的内容,因此我只是将删除的区域用白色着色。这是一个使用 Python 和 OpenCV 的实现

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()

【讨论】:

  • 嗨,感谢您的回答,但这不是实际问题,请参阅我对 Mark Ransom 的评论
  • @MaksimNovikov,没有办法返回下面的“原始”内容。你可以看看image inpainting
猜你喜欢
  • 2019-10-11
  • 2016-01-23
  • 1970-01-01
  • 2013-01-30
  • 2015-08-21
  • 2018-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多