有熟悉 numpy 的吗? 将图片变为黑白,部分区域没有变。。。

2018-05-25 11:51:44 +08:00
 hao1032
# -*- coding: utf-8 -*-
import cv2 as cv
import numpy as np


base_img = cv.imread('ee.png')
img = base_img.copy()

img[np.where((img != [255, 255, 255]).all(axis=2))] = [0, 0, 0] # 将非白色区域变为黑色

vis = np.concatenate((base_img, img), axis=1)
cv.imwrite('dd.png', vis)

结果


原图
1709 次点击
所在节点    问与答
4 条回复
zhs227
2018-05-25 11:54:46 +08:00
因为不是纯白色吧,做点容差就可以了
swulling
2018-05-25 11:56:01 +08:00
黑白算法不是这样的……你 Google 下,多的是,
hao1032
2018-05-25 11:59:23 +08:00
@zhs227 代码的意思是将所有不是纯白的颜色替换为黑色,其他区域都替换了,但是头像这块不知道什么原因没有替换,头像明显不是纯白的。
Arnie97
2018-05-27 02:56:45 +08:00
PNG 的话,是不是因为这里除了 RGB 以外还有 Alpha 通道?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457673

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX