擅长:python、mysql、java
<p>您有一个问题,您试图使用字符串来引用变量名。这相当困难;最好使用列表来包含图像。也就是说,不要试图引用<code>f_1</code>、<code>f_2</code>等,而是创建一个名为<code>f</code>的列表,其中包含每个图像。你知道吗</p>
<p>例如,不要使用顶部的代码,而是使用:</p>
<pre><code>f = [
thresh1[1:mr, 1:mc],
thresh1[1:mr, (mc+1):width],
thresh1[(mr+1):height, 1:mc],
thresh1[(mr+1):height, (mc+1):width]
]
b = [
thresh2[1:mr, 1:mc],
thresh2[1:mr, (mc+1):width],
thresh2[(mr+1):height, 1:mc],
thresh2[(mr+1):height, (mc+1):width]
]
</code></pre>
<p>现在您可以使用代码<code>f[1]</code>引用之前调用的<code>f_1</code>。你知道吗</p>
<p>现在,在循环中,可以使用:</p>
<pre><code>for i in range(1, 5):
r = cv2.countNonZero(f[i])/cv2.countNonZero(b[i])
print r
</code></pre>
<p>我建议您研究如何在Python中使用列表,因为这是一种基本的数据结构。另外,<code>"f_1"</code>(字符串)和<code>f_1</code>(变量名为<code>f_1</code>)之间也有区别。你不能(轻易)介于两者之间。你知道吗</p>