Python中函数参数后'['符号的含义?以OpenCV resize为例
关于OpenCV resize函数参数方括号的说明
先看函数签名:
dst = resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] )
这种方括号[]是函数签名的标准表示法,用来标记可选参数,核心逻辑如下:
- 没有被方括号包裹的
src和dsize是必填参数,必须传入,这也是它们不在括号内的原因。 - 被方括号包裹的
dst、fx、fy、interpolation都是可选参数,嵌套的括号表示:你可以选择只传前几个可选参数,也可以跳过前面的可选参数直接传后面的(通过关键字参数指定即可)。
举几个实际调用的例子:
- 只传必填参数:
dst = cv2.resize(src, (width, height))
- 指定输出的
dst参数:
dst = np.zeros((width, height, 3), dtype=np.uint8) cv2.resize(src, (width, height), dst)
- 跳过
dst直接指定缩放系数fx和fy:
dst = cv2.resize(src, (0, 0), fx=0.5, fy=0.5)
(注:用fx和fy时,dsize需传(0,0)或None,这是OpenCV的规则,和方括号的含义无关)
总结来说,方括号就是标记可选参数,嵌套仅表示可选参数按顺序排列,你可自由选择传递哪些,无需必须传递前面的可选参数才能传后面的(用关键字参数即可跳过)。
内容的提问来源于stack exchange,提问作者Anjishnu
相关产品推荐
相关产品推荐

