Python脚本:创建函数循环

2024-06-25 23:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正试图为我的学校项目编写一个脚本。它应该采取一个像素从相机饲料和测量在该点多次(噪声消除)。我目前不满意的代码部分如下所示:

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\u 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个或更少的字符串,但我希望细化结果,因此需要更多的迭代。任何帮助都将不胜感激。你知道吗


Tags: 字符串代码falseimgax学校xxxfinal
2条回答

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

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

你需要使用functions。你知道吗

将代码放入如下函数中:

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)

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

例如:

for i in range(64):
    img_final += get_image(x,y)

相关问题 更多 >