OpenCV: jak ustawić przezroczystość alfa piksela

Mam obraz, który próbuję podzielić na segmenty, kolorując każdy piksel na czerwono lub niebiesko. Obliczyłem wynik ufności dla każdego piksela i chcę dostosować przezroczystość alfa piksela, aby odzwierciedlić pewność, tj. Niskie zaufanie oznacza prawie przezroczyste. Czy można to zrobić w OpenCV? Jeśli nie, czy ktoś może zaproponować minimalnie inwazyjną bibliotekę (C ++)?

Próbowałem użyć 4-kanałowego 8-bitowegoMat jak sugeruje Aurellius, oto kod:

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);

Pokazany obraz jest cały niebieski (brak przezroczystości), a obraz jest w pełni przezroczysty.

questionAnswers(2)

yourAnswerToTheQuestion