gpt4 book ai didi

python - 在 python opencv 中添加像素?

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:14 24 4
gpt4 key购买 nike

例如,我想计算并添加图像中 100 到 255 之间的像素。我在用两个 For 思考。

rows,cols,bands=imgbgr.shape

for i in range(rows):
for j in range(cols):
for k in imgbgr[i,j]:
if 100<=k<=255:
#print imgbgr[i,j]
suma = np.sum(img[i,j])

print suma

最佳答案

由于 OpenCV 返回 numpy 数组,您可以使用 bool 切片来更快地完成工作:

>>> import numpy as np
>>> img = np.random.randint(0, 255, (3, 5, 5))
>>> img
array([[[236, 205, 246, 94, 224],
[ 28, 143, 159, 167, 54],
[247, 196, 107, 166, 74],
[194, 97, 219, 104, 15],
[143, 105, 107, 218, 240]],

[[ 54, 225, 231, 35, 39],
[223, 54, 0, 141, 47],
[ 69, 20, 222, 244, 143],
[ 34, 60, 174, 155, 243],
[173, 35, 173, 32, 246]],

[[229, 247, 102, 47, 208],
[201, 182, 172, 247, 171],
[ 86, 76, 182, 144, 58],
[155, 243, 37, 220, 75],
[171, 251, 60, 216, 43]]])
>>> cond = (img >= 100) & (img <= 255)
>>> cond
array([[[ True, True, True, False, True],
[False, True, True, True, False],
[ True, True, True, True, False],
[ True, False, True, True, False],
[ True, True, True, True, True]],

[[False, True, True, False, False],
[ True, False, False, True, False],
[False, False, True, True, True],
[False, False, True, True, True],
[ True, False, True, False, True]],

[[ True, True, True, False, True],
[ True, True, True, True, True],
[False, False, True, True, False],
[ True, True, False, True, False],
[ True, True, False, True, False]]], dtype=bool)
>>> img[cond]
array([236, 205, 246, 224, 143, 159, 167, 247, 196, 107, 166, 194, 219,
104, 143, 105, 107, 218, 240, 225, 231, 223, 141, 222, 244, 143,
174, 155, 243, 173, 173, 246, 229, 247, 102, 208, 201, 182, 172,
247, 171, 182, 144, 155, 243, 220, 171, 251, 216])
>>> img[cond].sum()
9360

关于python - 在 python opencv 中添加像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com