Qt Creator如何保存处理好的图片



举个例子,现在可以在界面成功显示原来的图片被灰度化,但不可以保存来做别的用处,源代码如下:

void MainWindow::on_gray_triggered()
{
    // 灰度转换
    cvtColor(srcImage,dstImage, CV_RGB2GRAY);
    //定义大小
    Size dsize = Size(ui->dstImageLable->width(),ui->dstImageLable->height());
    //定义一个目标图像
    Mat image2 = Mat(dsize,CV_32S);
    //调整大小
    cv::resize(dstImage, image2,dsize);
    //先对图像进行灰度化,再对QImage进行缩放处理,结果可能会显示黑色。
    //先对Mat图像进行缩放,然后再将其转换为QImage。
    //给img赋值
    img = QImage((const unsigned char*)(image2.data),image2.cols,image2.rows,image2.step,  QImage::Format_Indexed8);
    //清空label2
    ui->dstImageLable->clear();
    // 将img赋给label2,即主界面内右侧的标签。
    ui->dstImageLable->setPixmap(QPixmap::fromImage(img));

}


想用处理好的图片做其他的事 只需要添加一行代码。

函数体中的第一行就已经实现了将图片灰度化,是QT和opencv配合实现的,opencv十分强大,他是已经封装好的,你只需要调用他一下,只要一行就实现了灰度转换,他还有很多很多的功能,读者想了解可以自行学习。

在第一行下方添加

  imwrite("AAA.bmp",dstImage);

我这里的界面有一个显示图片的框框,他的名字就是dstImage,原本的图片就是在这显示,所以这句话把dstImage上显示的图片保存为名字为AAA,类型为.bmp的图片,就存放在Debug文件夹中,然后就可以把它拿出来了

注意 想起什么名字都可以 想要什么类型的图片就自己改后缀 opencv非常强大 都可以实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值