mask = r[:, :, i] > 0 这是什么表述方式?
for i in range(8):r[:, :, i] = cv2.bitwise_and(img, x[:, :, i])
mask = r[:, :, i] > 0
r = 255
cv2.imshow(str(i), r[:, :, i])
如题,我又带着问号回来了 兄弟,你这个问题也太刁钻了……
切片会调用一个对象中的__getitem__方法,普通的切片会向__getitem__传入一个整数或切片对象
但你这是多重切片,也就是向__getitem__传入一个元组,其中包括多个整数或切片对象
给你看个例子:
class n:
def __getitem__(a,b):return b
def __delitem__(a,b):return None
>>> k=n()
>>> k
slice(1, 5, None)
>>> k
(slice(1, 4, 2), slice(7, 15, 3), slice(19, 27, 9))
>>> k[:,:,:,:]
(slice(None, None, None), slice(None, None, None), slice(None, None, None), slice(None, None, None))
可以看到,多重切片的语法基本与普通切片相同,但是两项之间要有一个逗号。
PS:这东西大概就是叫多重切片吧…大概 永恒的蓝色梦想 发表于 2020-3-27 08:12
兄弟,你这个问题也太刁钻了……
切片会调用一个对象中的__getitem__方法,普通的切片会向__getitem__传 ...
嗯嗯,大概明白了多重切片的意思,
其实本身是一个灰度图的通道, 前两个切片是指排和列,第三个i是按位运算的符号。
还有个不明白的地方,为什么一个赋值语句后面要加个 >0 ? xiaofan1228 发表于 2020-3-27 17:02
嗯嗯,大概明白了多重切片的意思,
其实本身是一个灰度图的通道, 前两个切片是指排和列,第三个i是按 ...
因为我没有这个库,所以也只能猜了
可能mask是表示切片的值是否大于0 的变量? 永恒的蓝色梦想 发表于 2020-3-27 17:08
因为我没有这个库,所以也只能猜了
可能mask是表示切片的值是否大于0 的变量?
意思上应该是这么个意思,这种描述是可行的吗?一个等式加一个比较符号 xiaofan1228 发表于 2020-3-28 09:24
意思上应该是这么个意思,这种描述是可行的吗?一个等式加一个比较符号
可行
可以自己试一下a=5>1
赋值符号运算次序最低 永恒的蓝色梦想 发表于 2020-3-28 09:43
可行
可以自己试一下a=5>1
啊,终于到点上了!!!
所以无论如何,其实返回的是 0 和1 了 ,明白了明白了,感谢!!!!! xiaofan1228 发表于 2020-3-28 10:02
啊,终于到点上了!!!
所以无论如何,其实返回的是 0 和1 了 ,明白了明白了,感谢!!!!!
也感谢你的支持~
页:
[1]