OpenCv4.4.0Qt5.12.2OpenCv-Contrib-4.4.0
簡介
系統(tǒng)環(huán)境
System:Win10_64
IDE版本
QtCreator:4.8.2
Qt:5.12.2
CMake:3.17.1
OpenCV:4.4.0
下載
OpenCv
OpenCv:OpenCv下載列表
OpenCv_4.4.0:OpenCv4.4.0
來自于某一個博主:
OpenCv:國內索引列表
OpenCv:OpenCv4.4.0
官網(wǎng)鏈接就不貼了。
OpenCv_Xontrib_4.4.0
OpenCv_contrib:OpenCv_contrib
OpenCv_contrib_4.4.0:OpenCv_Contrib_4.4.0
Qt5.12.2
Qt:Qt官網(wǎng)-
Qt5.12.2:Qt5.12.2.exe
CMake
CMake:CMakeDownload
CMake3.17.1:GitHubCmake3.17.1
CMake3.17.1.msi:cmake-3.17.1-win64-x64.msi
安裝
Opencv
雙擊打開 opencv-4.4.0-vc14_vc15.exe,選擇自己的安裝路徑。筆者:E:\E盤根目錄
安裝完為: E:\opencv
OpenCv-Contrib-4.4.0
解壓opencv_contrib-4.4.0.zip,解壓至 E:\opencv目錄下為:
目錄: E:\opencv
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
d----- ? ? ? ?2020/9/27 ? ? ?9:30 ? ? ? ? ? ? ? ?build
d----- ? ? ? ?2020/9/27 ? ? ?9:39 ? ? ? ? ? ? ? ?opencv_contrib-4.4.0
d----- ? ? ? ?2020/9/27 ? ? ?9:34 ? ? ? ? ? ? ? ?sources
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ? 2336 LICENSE.txt
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ?27913 LICENSE_FFMPEG.txt
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ? ?731 README.md.txt
Qt5.12.2
正常的雙擊安裝。注意選擇MinGw。安裝目錄為 E:\Qt
目錄: E:\Qt
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
d----- ? ? ? ?2020/8/15 ? ? 17:08 ? ? ? ? ? ? ? ?Qt5.12.2
d----- ? ? ? ?2020/8/15 ? ? 12:03 ? ? ? ? ? ? ? ?Qt5.9.2
注意:如果沒有Qt帳號需要斷網(wǎng)安裝,就可以點擊skip 跳過登錄界面。或者自己注冊帳號登錄也可以。根據(jù)自己需要配置一些依賴庫。
CMake
雙擊安裝。
編譯
MinGw_64
當前目錄結構
目錄: E:\opencv
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
d----- ? ? ? ?2020/9/27 ? ? ?9:30 ? ? ? ? ? ? ? ?build
d----- ? ? ? ?2020/9/27 ? ? ?9:39 ? ? ? ? ? ? ? ?opencv_contrib-4.4.0
d----- ? ? ? ?2020/9/27 ? ? ?9:34 ? ? ? ? ? ? ? ?sources
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ? 2336 LICENSE.txt
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ?27913 LICENSE_FFMPEG.txt
-a---- ? ? ? ?2020/7/18 ? ? ?7:23 ? ? ? ? ? ?731 README.md.txt
創(chuàng)建編譯目錄,安裝目錄
PS E:\opencv> mkdir MinGw_64
目錄: E:\opencv
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
d----- ? ? ? ?2020/9/27 ? ? 12:42 ? ? ? ? ? ? ? ?MinGw_64
PS E:\opencv> mkdir MinGw_64_build
目錄: E:\opencv
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
d----- ? ? ? ?2020/9/27 ? ? 12:42 ? ? ? ? ? ? ? ?MinGw_64_build
配置 source code 和 build the binaries
點擊Configure
工程類型配置
工程類型選則: MinGw Makeifile
編譯器選擇:QtTools 下的 MinGw/bingcc and g++
等待配置完成 顯示 Configuring done
配置安裝路徑
CMAKE_INSTALL_PREFIX??E:/opencv/MinGw_64
配置modules
OPENCV_EXTRA_MODULES_PATH??E:/opencv/opencv_contrib-4.4.0/modules
在CMakeGui Search欄 搜索 CMAKE_INSTALL_PREFIX 和 OPENCV_EXTRA_MODULES_PATH,即可找到對應的配置項。
配置支持Qt
WITH_QT?TRUE
在CMakeGui Search欄 搜索 WITH_QT 即可找到對應的配置項。
配置OPENGL
WITH_OPENGL?TRUE
取消Test編譯
BUILD_PERE_TESTS FALSE
BUILD_TESTS FALSE
BUILD_opencv_python_tests FLASE
OPENCV_ENABLE_ALLOCATOR_STATS FALSE
OPENCV_GENERATE_SETUPVARS FALSE
在CMakeGui Search欄 搜索 test 即可找到對應的配置項,全部取消
配置完成后繼續(xù)點擊Configure
QT5_DIR配置
在點擊Configure 之后 會有如下錯誤提示:
CMake Error at cmake/OpenCVFindLibsGUI.cmake:18 (find_package):
Could not find a package configuration file provided by "Qt5" with any of
the following names:
Qt5Config.cmake
qt5-config.cmake
Qt5Config.cmake
Add the installation prefix of "Qt5" to COPENCV_ENABLE_ALLOCATOR_STATSMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. ?If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:686 (include)
Configuring incomplete, errors occurred!
該錯誤是沒有找到Qt5 的 安裝路徑。
在Everything 搜索 Qt5Config.cmake,即可找到對應路徑。
即
目錄: E:\Qt\Qt5.12.2\5.12.2\mingw73_64\lib\cmake\Qt5
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
-a---- ? ? ? ?2019/3/12 ? ? 17:49 ? ? ? ? ? 1606 Qt5Config.cmake
-a---- ? ? ? ?2019/3/12 ? ? 17:49 ? ? ? ? ? ?288 Qt5ConfigVersion.cmake
-a---- ? ? ? ?2019/3/12 ? ? 17:49 ? ? ? ? ? ?249 Qt5ModuleLocation.cmake
Qt5_DIR?E:\Qt\Qt5.12.2\5.12.2\mingw73_64\lib\cmake\Qt5
配置完成之后,繼續(xù)點擊Configure
等到 Configuring done。繼續(xù)配置。
取消
BUILD_opencv_rgbd FALSE
BUILD_opencv_python3 FALSE
BUILD_opencv_python3_building_generator FALSE
BUILD_opencv_rapid FALSE
OPENCV_GENERATE_SETUPVARS FALSE
OPENCV_ENABLE_ALLOCATOR_STATS FALSE
配置完成之后,繼續(xù)點擊Configure
等到 Configuring done.
檢測下載
目錄: E:\opencv\MinGw_64_build\downloads\xfeatures2d
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? ?14852 boostdesc_bgm.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? ?14864 boostdesc_bgm_bi.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? ? 7832 boostdesc_bgm_hd.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? 138093 boostdesc_binboost_064.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? 275322 boostdesc_binboost_128.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? 549754 boostdesc_binboost_256.i
-a---- ? ? ? ?2020/9/27 ? ? 14:04 ? ? ? ? 426280 boostdesc_lbgm.i
-a---- ? ? ? ?2016/3/17 ? ? 20:49 ? ? ? ?1257733 vgg_generated_120.i
-a---- ? ? ? ?2016/3/17 ? ? 20:49 ? ? ? ? 773330 vgg_generated_48.i
-a---- ? ? ? ?2016/3/17 ? ? 20:49 ? ? ? ? 915012 vgg_generated_64.i
-a---- ? ? ? ?2016/3/17 ? ? 20:49 ? ? ? ?1012932 vgg_generated_80.i
目錄: E:\opencv\MinGw_64_build\3rdparty\ffmpeg
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
-a---- ? ? ? ?2020/9/27 ? ? 14:03 ? ? ? ? ? ?361 ffmpeg_version.cmake
-a---- ? ? ? ?2020/9/27 ? ? 13:24 ? ? ? 21213184 opencv_videoio_ffmpeg.dll
-a---- ? ? ? ?2020/9/27 ? ? 13:31 ? ? ? 22100992 opencv_videoio_ffmpeg_64.dll
目錄: E:\opencv\MinGw_64_build\testdata\cv\face
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
-a---- ? ? ? ?2020/9/27 ? ? 13:40 ? ? ? 72368157 face_landmark_model.dat
在如上目錄查看是都有對應的文件,沒有則打開
E:\opencv\MinGw_64_build\CMakeDownloadLog.txt
找到下載路徑,下載對應的文件。
管理員權限打開 powershell ,執(zhí)行如下命令:
PS?E:\opencv\MinGw_64_build>?E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\mingw32-make.exe?-j8
E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\mingw32-make.exe?-j8
mingw32-make.exe ?路徑為對應 Qt mingw 安裝路徑。
相關錯誤
E:/Qt/Qt5.12.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/math.h:36:1: error: 'include' does not name a type
include
gcc: error: long: No such file or directory
E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\windres.exe: preprocessing failed.
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
directory
Call Stack (most recent call first):
CMakeLists.txt:968 (include)
Qt工程測試Demo
隨便拿了之前的一段代碼,圖片合并或者說全景圖拼接的。
工程目錄
目錄: D:\8-Project\Qt-Project\opencv_hello
Mode ? ? ? ? ? ? ? ?LastWriteTime ? ? ? ? Length Name
---- ? ? ? ? ? ? ? ?------------- ? ? ? ? ------ ----
-a---- ? ? ? ?2020/9/26 ? ? 20:49 ? ? ? ? 528828 01.png
-a---- ? ? ? ?2020/9/26 ? ? 20:49 ? ? ? ? 519384 02.png
-a---- ? ? ? ?2020/9/26 ? ? 20:31 ? ? ? ? ? ?183 main.cpp
-a---- ? ? ? ?2020/9/28 ? ? ?1:01 ? ? ? ? ? 1843 mainwindow.cpp
-a---- ? ? ? ?2020/9/26 ? ? 21:02 ? ? ? ? ? ?343 mainwindow.h
-a---- ? ? ? ?2020/9/26 ? ? 21:01 ? ? ? ? ? 1349 mainwindow.ui
-a---- ? ? ? ?2020/9/28 ? ? ?0:52 ? ? ? ? ? 1319 opencv_hello.pro
-a---- ? ? ? ?2020/9/28 ? ? ?0:48 ? ? ? ? ?14674 opencv_hello.pro.user
libdir / includepath 配置
在Pro文件內部添加:
INCLUDEPATH += E:\opencv\MinGw_64\include\
INCLUDEPATH += E:\opencv\MinGw_64\include\opencv2\
win32:CONFIG(release, debug|release): LIBS += E:/opencv/MinGw_64/x64/mingw/lib/libopencv_*.a
因為只編譯了 release 版本,所以只添加了Release
源碼
bool MainWindow::OpencvStitch()
{
//載入圖片
cv::Mat fImage = cv::imread("./01.png");
cv::Mat sImage = cv::imread("./02.png");
//圖片列表
std::vector
imgs.push_back(fImage);
imgs.push_back(sImage);
//圖片生成
cv::Mat outImage;
cv::Ptr
cv::Stitcher::Status status = stitcher->stitch(imgs,outImage);
//圖片合成結果
if (status != cv::Stitcher::Status::OK)
{
QString errmsg = "";
if (status == cv::Stitcher::Status::ERR_NEED_MORE_IMGS)
errmsg = "image no overlapping area";
else if (status == cv::Stitcher::Status::ERR_HOMOGRAPHY_EST_FAIL)
errmsg = "image no match ";
else
errmsg = "image parameter processing failed ";
qDebug() << "stitch imgs fail! : " << errmsg;
return false;
}
else
{
//重定向圖片
cv::Mat stitchImage = cv::Mat::zeros(fImage.rows, fImage.cols, CV_8UC3);
cv::resize(outImage, stitchImage, stitchImage.size());
//Opencv與Qt格式轉換 有默認 BGR-> RGB
cv::Mat qLabelImg;
cv::cvtColor(stitchImage,qLabelImg,cv::COLOR_BGR2RGB);
//生成QImage
QImage qImg = QImage((const unsigned char*)(qLabelImg.data),qLabelImg.cols,qLabelImg.rows,qLabelImg.step,QImage::Format_RGB888);
//QLabel顯示圖片
ui->label->setPixmap(QPixmap::fromImage(qImg));
ui->label->resize(qImg.size());
qDebug() << ui->label->size();
ui->label->show();
return true;
}
}
合成結果
圖像處理 Qt C++
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。