我正在寻找一个pythonic的方法来制作一个元组列表,这个元组查看一系列的点,确定这些点上的像素信息是否符合标准,如果符合,则添加到列表中
我有下面的代码行,我知道这是不正确的,但我希望它解释了我要完成的。“h,s,v=img[iy,((x//2)-ix)]部分是不正确的,因为我认为您不能指定h,s,v我目前拥有的代码
如何在for循环中指定h,s,v=img[]
pointlist = [h,s,v = img[iy,((x//2)-ix)] for ix in range(x//2) for iy in ylist if any((hm-hsm)<h<(hm+hsm) and (sm-ssm)<s<(sm+ssm) and (vm-vsm)<v<(vm+vsm) for hm,sm,vm,hsm,ssm,vsm in csample)]
另一种写这个的方法是:
csample = (60,30,100,15,15,25)
for iy in ylist:
for (x//2)-ix for ix in range(x//2):
h,s,v = img[iy,ix]
if any((hm-hsm)<h<(hm+hsm) and (sm-ssm)<s<(sm+ssm) and (vm-vsm)<v<(vm+vsm) for hm,sm,vm,hsm,ssm,vsm in csample)
你的要求不是很明确,但我想这就是你的想法:
代码:
有一件事可能需要解释,那就是
isgood(*img...)
。这将扩展存储在img
中的tuple
,并将这三个元素作为特殊参数传递给is_good
。见here测试数据:
产生:
相关问题 更多 >
编程相关推荐