【无标题】用Qt+OpenCV做一个图像处理软件(灰度化)

初入坑,有问题请指正。

首先,点击菜单栏插入选项,从文件目录中选取一张图片 。【无标题】用Qt+OpenCV做一个图像处理软件(灰度化)_第1张图片

附代码

void MainWindow::on_charu_triggered()
{
    QString filename=QFileDialog::getOpenFileName(this,tr("Open Image"),QDir::homePath(),tr("(*.jpg)\n(*.png)\n(*.bmp)"));
    ui->label->setPixmap(QPixmap(filename));
}

记得头文件#include ,。(我没按格式写噢)

然后在灰度化按钮的槽函数里写代码,记得OpenCV的头文件。

MatConvertQImage mci;
    cv::Mat imat = mci.QImage2cvMat(img);
    cv::Mat gray;
    cv::cvtColor(imat, gray, cv::COLOR_BGR2GRAY);
    QImage image = mci.Mat2QImage(gray);
    ui->label->clear();
    ui->label->setPixmap(QPixmap::fromImage(image));

cv的Mat和Qt的QImage互相转化的函数参考这两位大佬。

把cv::Mat转化为QImage_liji_digital的博客-CSDN博客_mat转qimage

QImage与Mat格式相互转换_修行进行时的博客-CSDN博客_qimage转mat

效果如下:

【无标题】用Qt+OpenCV做一个图像处理软件(灰度化)_第2张图片

 只是简单的Demo,各种bug肯定很多,比如不插入图片直接按灰度化按钮之类的,再就是图片大小适应label大小的各种美化,都还没做,以后努力。ε≡٩(๑>₃<)۶ 

你可能感兴趣的:(qt,图像处理)