我正在尝试创建一个程序,它可以创建一个lambda函数列表,格式为y=mx+b
,其中'm'和'b'是预定值。
我的总体目标是实现一个函数,该函数能够:
- 拍照
- 找到图像上的直线
- 将其延伸到整个图像中,并以纯色显示
基本上,就像霍夫变换一样,如果您知道这是什么。
一旦我有了特定图像的直线,我可以创建一个lambda函数来表示线的斜率和起点。我无法将lambda函数附加到列表中,我遇到了问题。
我尝试过以下方法:
if __name__ == "__main__":
nums = []
for i in range(10):
j = lambda x: x + i
nums.append(j)
for i in nums:
print(i(1))
这是我遇到的错误:
Traceback (most recent call last):
File "C:/Users/me/.PyCharmCE2018.3/config/scratches/scratch_3.py", line 7, in <module>
print(i(1))
File "C:/Users/me/.PyCharmCE2018.3/config/scratches/scratch_3.py", line 4, in <lambda>
j = (lambda x: x + i)
TypeError: unsupported operand type(s) for +: 'int' and 'function'
i
将会在 lambda 表达式中进行查找。 - Karl Knechtel