import cv2
import numpy as np
image = cv2.imread('images1.png')
ss=[]
for x in range (0,260,1):
for y in range(0,190,1):
if image[y,x]==[0,0,0]:
image[y,x]=[0,255,162]
cv2.imshow("image",image)
cv2.waitKey(0)
錯誤:
包含多個元素的陣列的真值是不明確的。使用 a.any() 或 a.all()
uj5u.com熱心網友回復:
當您呼叫 img[y,x]==[0,0,0] 時,您試圖將一個陣列與另一個陣列進行比較,您會得到一個包含 3 個邏輯值的向量(假設 [True,True,True] 或任何其他變體)。你必須把它壓縮成一個獨特的邏輯:你可以使用 .all() 到那個(黑色意味著通道紅色==0,藍色==0和綠色==0,所以你需要3個vals True 輸入 if)
所以解決方案是更換
if image[y,x]==[0,0,0]:
和
if (image[y,x]==[0,0,0]).all():
uj5u.com熱心網友回復:
如果你想快速做到這一點,你不想用回圈來做到這一點——相反,使用

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/330877.html
