gpt4 book ai didi

通过逻辑索引对 Python OpenCV 进行阈值处理

转载 作者:行者123 更新时间:2023-12-02 16:51:03 28 4
gpt4 key购买 nike

我正在尝试对灰度图像中的某些值进行阈值处理。到目前为止,我通过输入特定范围的数字已经成功,但我想取 50 到 150 之间的值并将它们乘以 1.2。我不确定如何访问向量中的数字,然后将其乘以 1.2。

myimg[myimg <= 50] = 0
myimg[myimg > 150 ] = 255
myimg[50<myimg<=150] = myimg * 1.2 #this line produces this error: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

最佳答案

而不是 50<myimg<=150采用

(myimg>50) & (myimg<=150)

不要忘记 ()因为它不起作用。

并且您需要在 = 的两侧具有相同大小的数组
myimg[(myimg>50) & (myimg<=150)] = myimg[(myimg>50) & (myimg<=150)] * 1.2

或更短
myimg[(myimg>50) & (myimg<=150)] *= 1.2

示例代码
import numpy as np
import random

random.seed(0)

myimg = np.array([random.randint(0, 255) for x in range(10)], float)
print(myimg)

myimg[(myimg>50) & (myimg<=150)] = myimg[(myimg>50) & (myimg<=150)] * 1.2
#myimg[(myimg>50) & (myimg<=150)] = myimg * 1.2

print(myimg)

关于通过逻辑索引对 Python OpenCV 进行阈值处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61994807/

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