opencv - умножение изображений

привет япытаюсь немного поиграть с матом класса. Я хочу сделать элемент продукта мудрым между двумя изображениями, портом c ++ / opencv в MATLABimmultiply.

Это мой код:

#include 
#include 
#include "opencv2/imgproc/imgproc.hpp"

#include 

using namespace cv;
using namespace std;

Mat imgA, imgB;
Mat imgAB;
Mat product;

void printMinMax(Mat m, string s) {
    double minVal; 
    double maxVal; 
    Point minLoc; 
    Point maxLoc;

    minMaxLoc( m, &minVal, &maxVal, &minLoc, &maxLoc );
    cout < "min val in " < s < ": " < minVal < endl;
    cout < "max val in " < s < ": " < maxVal < endl;
}

int main(int /*argc*/, char** /*argv*/) {

    cout < "OpenCV version: " < CV_MAJOR_VERSION < " " < CV_MINOR_VERSION < endl;

    imgA = imread("test1.jpg"); 
    cout < "original image size: " < imgA.rows < " " < imgA.cols < endl;
    cout < "original type: " < imgA.type() < endl;
    cvtColor(imgA, imgA, CV_BGR2GRAY);
    printMinMax(imgA, "imgA");

    imgB = imread("test2.jpg"); 
    cout < "original image size: " < imgB.rows < " " < imgB.cols < endl;
    cout < "original type: " < imgB.type() < endl;
    cvtColor(imgB, imgB, CV_BGR2GRAY);
    printMinMax(imgB, "imgB");

    namedWindow("originals", CV_WINDOW_AUTOSIZE);
    namedWindow("product", CV_WINDOW_AUTOSIZE);

    imgAB = Mat( max(imgA.rows,imgB.rows), imgA.cols+imgB.cols, imgA.type());
    imgA.copyTo(imgAB(Rect(0, 0, imgA.cols, imgA.rows)));
    imgB.copyTo(imgAB(Rect(imgA.cols, 0, imgB.cols, imgB.rows)));

    product = imgA.mul(imgB);
    printMinMax(product, "product");

    while( true )
    {
        char c = (char)waitKey(10);

        if( c == 27 )
            { break; }

        imshow( "originals", imgAB );
        imshow( "product", product );
    }

    return 0;
}

Ответы на вопрос(2)

Ваш ответ на вопрос