我剛剛開始用python。我有4個變量F_1,F_2,F_3和F_4。每個元素都包含一個矩陣。我想要統計每個值中的非零值。所以我寫了一個循環。基本Python:將字符串作爲輸入傳遞給函數
f_1 = thresh1[1:mr, 1:mc]
f_2 = thresh1[1:mr, (mc+1):width]
f_3 = thresh1[(mr+1):height, 1:mc]
f_4 = thresh1[(mr+1):height, (mc+1):width]
b_1 = thresh2[1:mr, 1:mc]
b_2 = thresh2[1:mr, (mc+1):width]
b_3 = thresh2[(mr+1):height, 1:mc]
b_4 = thresh2[(mr+1):height, (mc+1):width]
for i in range(1, 5):
n1 = "f_"
n2 = "b_"
num = str(i)
n1 += num
n2 += num
r = cv2.countNonZero((n1)/cv2.countNonZero(n2))
print r
我想將串聯字符串n1
和n2
作爲輸入傳遞給方程cv2.countNonZero((n1)/cv2.countNonZero(n2))
。
這裏F1是一個二進制圖像(前景中的F),B1也是二進制圖像(背景中的B)。我正試圖計算前景與背景中非零像素的比例。
[R應該被計算F1/B1,並在接下來的迭代F2/B2 ......等等
在'r'什麼公式?我有點困惑,因爲它看起來像是用一個整數('cv.countNonZero(n2)')來分割'n1'(這是一個字符串)。這實際上編譯?你能舉一個你想要做什麼的例子嗎? – apnorton
我認爲這個問題非常令人困惑,你希望將'n1'傳遞給一個函數,該函數的值是一個字符串,並且lit的值與變量'f_1'的名字相同。但是你的實際意圖是傳遞'f_1'的變量值。你正在這樣做,以便你可以循環並傳遞該系列的多個變量。 – RejeeshChandran
是的,這是最初的意圖。抱歉,由於缺乏清晰度,但AP諾頓的建議完美。猜猜我需要學習python中的數據結構語法!謝謝大家花時間 –