OpenCV: como definir transparência alfa de um pixel
Eu tenho uma imagem que estou tentando segmentar colorindo cada pixel ou verde vermelho ou azul. Eu calculei uma pontuação de confiança para cada pixel e quero ajustar a transparência alfa do pixel para refletir a confiança, ou seja, baixa confiança significa quase transparente. Existe uma maneira de fazer isso no OpenCV? Se não, alguém pode sugerir uma biblioteca minimamente invasiva (C ++)?
Eu tenho tentativas usando um canal 4 de 8 bitsMat
como sugerido por Aurellius, aqui está o código:
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);
A imagem mostrada é toda azul (sem transparência) e a imagem é totalmente transparente.