[英]display grayscale image using qt
您好,我想使用qt显示灰度图像。 我的问题是当我有图像时
QRgb pixel=imagef->pixel(i,j);
int color= qGray(pixelfft);
然后我进行一些修改,然后将像素结果返回到要显示灰度的图像。 我做到了,这与我的源中的彩色图像一起工作
imagef-> setPixel(i,j,qRgb(x,x,x));
但是当我选择白色和黑色图像时,我会进行处理,当我显示它时,这种方法就无法使用
imagef-> setPixel(i,j,qGray(qRgb(x,x,x)));
如何找到如何在任何类型的图像源中显示灰度图像? 请帮我。
看来您的灰度图像具有与RGB
或ARGB
不同的格式。 请注意,setPixel的签名为
void QImage::setPixel(int x, int y, uint index_or_rgb)
在RGB
或ARGB
,该值将是ARGB值,在单色或索引中将是颜色索引。
如果您的图像已经是灰度图像,我看不到为什么要对其进行处理。 因此就做
switch(image.format())
{
case Qimage::Indexed:
//drawing in indexed is not possible
image = make_gray_indexed_processing(image);
break;
case QImage::Format_RGB32:
case QImage::Format_ARGB32:
image = make_gray_rgb_processing(image);
break;
case QImage::Format_Mono :
case QImage::Format_Mono_LSB :
//do nothing
break;
default:
//out of scope of answer
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.