Для № 2 и № 4 вы должны прочитать страницу OpenCV по арифметике насыщения . В частности:
Эта семантика «насыщенности» (различная
от обычного языка C «упаковка»
семантика, где младшие биты
принято, реализовано в каждом изображении
функция обработки, от простого
cv::add
до cv::cvtColor
, cv::resize
,
cv::filter2D
и т. Д. Это не новый
особенность OpenCV v2.x, это было там
с самого начала. В новом
версия этого специального шаблона оператора
вводится для упрощения
реализация этой семантики в
ваши собственные функции.
У меня, к сожалению, нет хороших решений ваших проблем с системой типов. Поскольку все библиотечные функции OpenCV используют не шаблонный класс cv::Mat
, я лично отказался от использования класса cv::Mat<T>
, пока не обновится остальная часть API.
Хотя система типов довольно неловкая, ее становится гораздо проще использовать по мере привыкания к ней.