Mam obraz, który próbuję posegmentować, kolorując każdy piksel albo na czerwono, albo na niebiesko. Obliczyłem wynik zaufania dla każdego piksela i chcę dostosować przezroczystość alfa piksela, aby odzwierciedlić zaufanie, tj. Niski poziom zaufania oznacza prawie przezroczysty. Czy jest jakiś sposób, aby to zrobić w OpenCV? Jeśli nie, to czy ktoś może zaproponować minimalnie inwazyjną bibliotekę (C++)?OpenCV: jak ustawić przezroczystość alfa piksela
Mam prób przy użyciu 4 kanału 8-bitowego Mat
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);
Obraz widoczny jest po prostu wszystko niebieski (bez przezroczystości), a obraz tylko w pełni przejrzyste.
To nie działa, zobacz zaktualizowane pytanie – Aly
@Aly Próbowałem tej odpowiedzi i zadziałało. – Kiran