转载 Linux下 QT+Opencv 写一个图片显示程序

谢谢大牛哥分享,以下为转载文章,出处:https://blog.csdn.net/qq_31674679/article/details/80026066

在此谢过作者 Peace_day

1首先用QT new一个project  选择QT Widgets Application 
这里写图片描述 
然后直接下一步,把Name改成HelloWorld,然后就一直下一步就可以了。 
这里写图片描述 
最后的工程截图应该是个这样子


2.界面设置 
点击mainwindow.ui 拖出以下界面 
这里写图片描述 
其实就是一个Label+Push Button然后你点击Button 为他添加监听事件 
这里写图片描述 
点击goto slot中文版叫转到槽然后选择clicked();然后界面会转到mainwindow.cpp界面下 
这里写图片描述
我们在void MainWindow::on_OpenImage_clicked()函数中添加如下代码(函数名可能不一样,你的原本是哪样就是哪样,不需要做修改)

 QString fileName=QFileDialog::getOpenFileName(this,tr("Open Image"),
                                    ".",tr("Image Files(*.png *.jpg *.jpeg)"));

        image=cv::imread(fileName.toStdString());      
        QImage img = QImage((const unsigned char*)(image.data),
                                image.cols, image.rows, QImage::Format_RGB888);
            //设定图像大小自适应label窗口的大小
            img = img.scaled(ui->label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
            ui->label->setPixmap(QPixmap::fromImage(img));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

代码什么意思自己后面学吧!我这里就不具体分析了!!!!

然后转到mianwindow.h文件中 
这里写图片描述
添加以下两处代码即

#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core/utility.hpp>

cv::Mat image;
  • 1
  • 2
  • 3
  • 4
  • 5

然后这个时候你可以试着点击运行试试(运行按钮在左下方)这个时候你一定会收到一大片的错误!不用管他,按我接下来说的做!!


在你创建的项目文件夹中找到一个.pro文件(这个路径就是你刚才创建项目时的默认路径) 
这里写图片描述
点击打开 
这里写图片描述我们所要做的就是添加红色部分的代码,

注意!!!这里每个人都不一样! 
注意!!!这里每个人都不一样! 
注意!!!这里每个人都不一样! 
我的是

INCLUDEPATH += /usr/local/include/opencv \
                   /usr/local/include/opencv2

LIBS += /usr/local/lib/libopencv_core.so.3.4
LIBS += /usr/local/lib/libopencv_highgui.so.3.4
LIBS += /usr/local/lib/libopencv_core.so.3.4
LIBS += /usr/local/lib/libopencv_highgui.so.3.4
LIBS += /usr/local/lib/libopencv_calib3d.so.3.4
LIBS += /usr/local/lib/libopencv_features2d.so.3.4
LIBS += /usr/local/lib/libopencv_flann.so.3.4
LIBS += /usr/local/lib/libopencv_imgcodecs.so.3.4
LIBS += /usr/local/lib/libopencv_imgproc.so.3.4
LIBS += /usr/local/lib/libopencv_ml.so.3.4
LIBS += /usr/local/lib/libopencv_objdetect.so.3.4
LIBS += /usr/local/lib/libopencv_video.so.3.4`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

这些路径怎么看直接用命令行查看有没有就行了 
这里写图片描述我这里显示了两个所以我就在INCLUDEPATH添加了这两个opencv opencv2 
同理查看 
这里写图片描述 
然后观察你的版本是什么做相应的修改,没有必要全部加进去,我只加了上面几个就能运行了,如果上面有的文件你没有,直接把那句话删了就OK了 
至于前面的那个路径(/usr/local/lib/)不一定是这样,网上百度好像只有两种,我的是这样的,有一种好像是/usr/inclde/……什么什么的自己尝试吧自然就知道了。 
现在你已经把代码添加进pro文件了,点击save 
网上说需要qmake以下,我不需要,但稳妥起见你可以试试, 
这里写图片描述
然后点击运行,你会发现哇哇哇哇哇哇哇,成功运行了!!! 
这里写图片描述 
点击按钮添加一张图片进去!!! 
这里写图片描述 
大功告成!!!!!(图片颜色可能不对,是色彩通道的问题,这个后面解决,但现在,最起码,你把图片显示出来了呀!)

猜你喜欢

转载自blog.csdn.net/zccyy1010/article/details/81136737
今日推荐