К примеру у меня есть две матрицы: изображение и коэффициенты, на которые нужно домножить каждый пиксель изображения. Матрицы имеют одинаковую размерность, но разные типы: изображение CV_8UC3, а коэффициенты CV_32FC1. Функция cv::multiply здесь не подойдет из-за несоответствия типов. Можно конечно перемножать циклом, но я думаю должно быть решение получше этого.
multiply можно использовать, только придётся подготовить матрицу коэффициентов:
- преобразовать её convertTo с коэффициентом 255 (если диапазон был 0..1) из 32FC1 в 8UC1
- потом размножить последнюю до 8UC3
- и наконец применить multiply с параметром scale 1/255
Насколько я понимаю тут имеется в виду применение битовой маски к изображению. Это не совсем умножение матриц. Нужно получить A[i,j]=A[i,j]*C[i,j]. Если так, то просто двойной цикл будет быстрым решением.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости