利用opencv将QImage中指定的颜色变为透明
程序员文章站
2022-03-26 19:18:10
...
之前做项目的时候用到了将指定的颜色变为透明,
当时查了一些资料,现在在博客中记录下来,防止遗忘。
下面附上代码:
void vacDealThread::__Bmp2Png(QImage &bmp)
{
bmp = bmp.convertToFormat(QImage::Format_RGBA8888_Premultiplied, Qt::NoFormatConversion);
int bmpWidth = bmp.width();
int bmpHeight = bmp.height();
//指定的颜色
QColor bmpBack(0, 0, 0);
QColor bmpBackA(0, 0, 0, 0);
for (int i = 0; i < bmpWidth; ++i)
{
for (int j = 0; j < bmpHeight; ++j)
{
if (bmp.pixelColor(i, j) == bmpBack)
{
bmp.setPixelColor(i, j, bmpBackA);
}
}
}
}