python二值化问题

img1 = list(map(lambda x: 1 if x <= 180 else 0, img1)) 这个让图片二值化的代码是怎么实现的 用的是什么方法

lambda表达式,也叫匿名函数,源自数学里的函数概念,所以写出来就像是f(x)=x一样。
就相当于

def function(x):
    if x <= 180:
        return 1
    else:
        return 0

然后map()是把img1这个文件里的每个元素都传递给上面这个匿名函数去判断,返回1或0。
最后再用list()把返回的一系列1和0的结果变成一个列表。

用的匿名函数,逐个判断矩阵内的元素是否大于180,大于180变成1,小于180变成0

其实就是用了一个匿名函数,你可以理解为函数的简写,这个语句就是通过map函数遍历图像img1所有点,点的值小于等于180就赋值为1,否则赋值为0,然后再用list转化为数组