Python脚本:创建功能循环

时间:2017-01-13 13:46:23

标签: python python-3.x loops

我目前正在尝试为我的学校项目编写脚本。它应该从摄像机馈送中获取一个像素并在该点处多次测量(用于噪声消除)。我目前不满意的代码部分如下所示:

canon.ScanXY(x,y)
img_1 = canon.FetchImage(0, 1 * 1)
canon.StopScan()

canon.ScanXY(x,y)
img_2 = canon.FetchImage(0, 1 * 1)
canon.StopScan()

...

canon.ScanXY(x,y)
img_xxx = canon.FetchImage(0, 1 * 1)
canon.StopScan() 

上面的代码将返回一个名为img_xxx的字符串,其中xxx代表一个特定的数字。我想知道,如果有更简单的方法可以做到这一点。我试图循环该函数,但无法做到这一点,以便我每次迭代都有不同的结果。最后,我需要将所有这些添加到一起,以便从以前生成的所有内容中创建一个字符串:

img_final = (img_1 + img_2 + img_3 + ... + img_xxx)

最后使用

打印结果中的图片
img = np.fromstring(img_final, dtype="uint8").reshape(8,8)
fig, ax = plt.subplots()
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
ax.set_xticklabels((0,1))
x=ax.imshow(img,cmap="gray")

代码有效,但如果我想改变任何东西,那真的需要花费很多时间。到目前为止,我正在使用64个或更少的字符串,但我想改进结果,所以我需要更多的迭代。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

img_final应该是单个img序列的总和。添加从控制台读取的整数序列的类比是:

final = int(input("First num: "))
for x in range(xxx-1):
    num = int(input("Next num: "))
    final += num

答案 1 :(得分:-1)

您需要使用functions

将代码置于如下函数中:

<g:paginate>

这会为代码分配函数def get_image(x,y): canon.ScanXY(x,y) img = canon.FetchImage(0, 1 * 1) canon.StopScan() return img ,您可以使用

运行该函数
get_image

为了能够运行这个批次(即循环它),有一个返回图像的列表。

例如:

returned_image = get_image(dimension_x,dimension_y)