OpenCV: comment définir la transparence alpha d'un pixel

J'ai une image que je suis en train de segment par la coloration de chaque pixel soit rouge, vert ou bleu. J'ai calculé un score de confiance pour chaque pixel et pour régler la transparence alpha du pixel afin de refléter la confiance, c'est à dire le faible niveau de confiance signifie presque transparent. Est-il un moyen de le faire dans OpenCV? Si non quelqu'un peut-il suggérer un mini-invasive de la bibliothèque C++ (C++)?

J'ai tente à l'aide d'un 4 canaux 8 bits Mat comme suggéré par Aurellius, voici le code:

cv::Mat m = cv::Mat(20,20, CV_8UC4);
    for(int i = 0; i < m.rows; i++){
        for(int j = 0; j < m.cols; j++){
            Vec4b& v = m.at<Vec4b>(i,j);
            v[0] = 255;
            v[1] = 0;
            v[2] = 0;
            v[3] = 0.5;
        }
    }

    imwrite("alpha.png", m);
    namedWindow("m");
    imshow("m", m);
    waitKey(0);

L'image affichée est juste tout bleu (pas de transparence) et l'image juste totalement transparent.

OriginalL'auteur Aly | 2013-04-24