zoukankan      html  css  js  c++  java
  • Qt QImag图像保存、格式转换

    图像保存
    bool QImage::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const

    保存格式选择
    参数format选择保存的格式,支持格式如下:
    BMP(Windows Bitmap)
    GIF(Graphic Interchange Format (optional))
    JPG(Joint Photographic Experts Group)
    JPEG(Joint Photographic Experts Group)
    PNG(Portable Network Graphics)
    PBM(Portable Bitmap)
    PGM(Portable Graymap)
    PPM(Portable Pixmap)
    XBM(X11 Bitmap)
    XPM(X11 Pixmap)

    保存质量设置
    quality必须在0到100或-1范围内。
    指定0来获得小的压缩文件,100用于大的未压缩文件,和-1(默认)使用默认设置。

    1 GV_QImage.save("ImageSavePath"+".BMP","BMP",100);
    2 //1.pictrureName为图片文件的路径,比如:"/home/feng/IMG_0.jpg",需要注意的是路径必须要有权限读写;
    3 //2."JPG"为图片的格式,注意不需要带".";
    4 //3.100指的是图片的质量因数,范围必须在0到100之内或-1,指定0以获取小型压缩文件,指定100表示大型未压缩文件,使用-1(默认值)使用默认设置。

     

    图像格式转换

    由 RGB 格式转换成 BGR 格式

    QImage::rgbSwapped() 
    返回一个QImage,其中所有像素的红色和蓝色组件的值被交换,有效地将RGB图像转换为BGR图像。

    1 QImage image(fileName);
    2 QImage bgr = image.rgbSwapped();

    将彩色图转换成 灰度图

    使用QImage::convertToFormat()函数, 
    参数选择QImage::Format_Grayscale8(需要Qt5.5以上版本才支持)。

    1 QImage image(fileName);
    2 QImage gray = image.convertToFormat(QImage::Format_Grayscale8);
  • 相关阅读:
    [机器学习案例1]基于KNN手写数字识别
    Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案
    Qt之网络编程
    Redis系列-存储篇sorted set主要操作函数小结
    Code First Migrations更新数据库结构的具体步骤
    json文件解析
    go语言文件操作
    docker容器与主机之间的文件复制
    ubuntu16.04 安装docker
    Go语言string,int,int64 ,float之间类型转换方法
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/12157009.html
Copyright © 2011-2022 走看看