Что должен подразумевать синтаксис вложенных переменных в документации OpenCV?

#python #opencv #opencv-python

#python #opencv #opencv-python

Вопрос:

Я пытаюсь понять синтаксис документации OpenCV… Например, любая функция отображает реализацию Python в аналогичной форме, например:

 dst =   cv.boxFilter(   src, ddepth, ksize[, dst[, anchor[, normalize[, borderType]]]]  )
 

Является ksize dst ли , anchor , и т.д. необязательными параметрами? Почему все они вложенные? (например, почему borderType внутри normalize скобок, normalize внутри anchor скобок и т. Д.?) Что это должно подразумевать?

Ответ №1:

Все аргументы за скобками обязательны. Каждый последующий аргумент является необязательным, но может быть предоставлен только в том случае, если предоставлены все предыдущие аргументы. Если бы мы написали

 cv.boxFilter(src, ddepth, ksize[, dst][, anchor])
 

Это означало бы, что я мог бы вызывать boxFilter и предоставлять anchor , но нет dst (возможно, используя аргументы ключевого слова). Записывая необязательные аргументы в этой вложенной форме, становится ясно, что официально принят только процедурный метод предоставления аргументов в правильном порядке и без пропусков.

Комментарии:

1. Большое спасибо за быстрый ответ и пример. Это так долго сбивало меня с толку! Это имеет полный смысл. Приветствия.