1
我正在使用Python的OpenCV,並在邊緣檢測腳本here我遇到了一些我從未見過的東西。我很抱歉如果這個問題之前已經被問到過,但我不確定要搜索什麼。括號內的Python布爾值?
我已經粘貼了以下相關片:
while True:
flag, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thrs1 = cv2.getTrackbarPos('thrs1', 'edge')
thrs2 = cv2.getTrackbarPos('thrs2', 'edge')
edge = cv2.Canny(gray, thrs1, thrs2, apertureSize=5)
vis = img.copy()
vis /= 2
vis[edge != 0] = (0, 255, 0) #This is the line I'm trying to figure out
cv2.imshow('edge', vis)
的代碼是不是我的,但OpenCV的文檔的一部分。盡我所知,vis [edge!= 0]正在經歷每個邊緣元素,將其與真實值進行比較,然後以某種方式(這對我來說是奇怪的部分)將布爾評估的結果轉換爲xy座標vis,然後將圖像值設置爲綠色。
這對我來說似乎有點神奇,因爲我從來沒有遇到過這樣的事情,因爲我大多是C/C++程序員。有人可以指向我可以閱讀的文檔嗎?我有STFW失敗,因爲我不知道該怎麼稱呼這種行爲。