OpenCV: Festlegen der Alpha-Transparenz eines Pixels

Ich habe ein Bild, das ich zu segmentieren versuche, indem ich jedes Pixel entweder rot, grün oder blau einfärbe. Ich habe eine Vertrauensbewertung für jedes Pixel berechnet und möchte die Alpha-Transparenz des Pixels anpassen, um das Vertrauen wiederzugeben, d. H. Geringes Vertrauen bedeutet fast transparent. Gibt es eine Möglichkeit, dies in OpenCV zu tun? Wenn nicht, kann jemand eine minimal invasive Bibliothek (C ++) vorschlagen?

Ich habe versucht, ein 4-Kanal-8-Bit zu verwendenMat Wie von Aurellius vorgeschlagen, ist hier der 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);

Das gezeigte Bild ist nur ganz blau (keine Transparenz) und das Bild ist nur vollständig transparent.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage