image - 从 jpeg 图像中删除图标
解决方案
一种方法是使用颜色阈值来获得二进制掩码,该掩码可用于隔离要保留的所需区域。一旦我们有了这个面具,我们就可以逐位 - 并有效地去除心脏
在使用 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()
推荐阅读
- terraform - 关于在 Terraform 中将“darwin_64”转换为“linux_64”
- angular - 根据“新 chrome 政策”,我们无法在没有用户交互的情况下播放音频
- javascript - 有什么方法可以在 react-native-webview 中禁用 hapticFeedback
- angular - 发布请求后地图功能无法正常工作
- hyperledger-fabric - 无法使用 softhsm 配置启动 fabric-ca-server
- jenkins-pipeline - 如何在邮件中设置部署和中止按钮
- angular - 动态生成的嵌套 FormGroup。需要帮助才能使其正常工作
- jenkins - 如何向 jenkins build 中发生更改的用户发送电子邮件
- audio - 当我将无声音频 (mp3) 附加到现有音频列表时,最终音频会出现乱码?
- python-3.x - 尝试应用 pd.to_datetime(df) 时出现错误“无法组装日期时间:'int' 对象不可切片”