【发布时间】:2013-04-18 06:13:19
【问题描述】:
我有一个图像,我试图通过将每个像素着色为红绿色或蓝色来进行分割。我计算了每个像素的置信度分数,并想调整像素的 alpha 透明度以反映置信度,即低置信度意味着几乎透明。有没有办法在 OpenCV 中做到这一点?如果没有,任何人都可以建议一个微创库(C++)吗?
我尝试使用 Aurelius 建议的 4 通道 8 位 Mat,代码如下:
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);
显示的图像全是蓝色(不透明),并且图像完全透明。
【问题讨论】:
标签: c++ opencv visualization