發表文章

目前顯示的是 12月, 2019的文章

[Qt, Visual Studio, C++] Qt label 圖片自適應 Size

如果 Qt label 的大小與圖片大小不符合,怕會過大過小,要讓這些圖片可以適應 label 的大小,Code 如下 : ui.label->setPixmap(QPixmapLLfromImage(mat2Qimg(img)).scaled( ui.label->width(), ui.label->height(), Qt::ignoreAspectRatio, Qt::SmoothTransformation));

[Qt, Visual Studio, C++] Mat 轉 QPixmap

要將Mat格式的圖片顯示在 Qt UI 上的 label, 需進行轉換, Code 如下 : Qimage mat2Qimg(Mat& mat){ cv.cvtColor(mat, mat, COLOR_BGR2RGB); QImage Qimg((const unsigned char*) mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888); return Qimg;} Mat img = cv.imread("xxx.bmp",CV_LOAD_IMAGE_COLOR); ui.label->setPixmap(QPixmap::fromImage(mat2Qimg(img)));

[Qt, Visual Studio, C++] Qt 5.13.2 於 Visual Studio 2019 之建置流程

相關配置如下 , 有些雜亂, 有空在修正: Visual Studio 2019 (因專案需求已安裝MSVC2015) Qt 5.13.2 Qt VS Tools 2.4.2(rev.9) 簡易建置流程 : https://download.qt.io/archive/qt/  選擇需要的版本, 個人偏好最新版的前一版 下載完安裝到底, 記得要勾選 Core, Widgets, Gui https://download.qt.io/development_releases/vsaddin/2.4.2/  選擇安裝rev.9的版本, 因最新版有BUG, 詳情參閱 :  https://netoken27.blogspot.com/2019/12/c-mutex-is-not-supported-when-compiling.html 安裝完畢後, 將以下幾個dll丟到VS專案底下 : Qt5Core.dll Qt5Cored.dll Qt5Gui.dll Qt5Guid.dll Qt5Widgets.dll Qt5Widgetsd.dll 接著到Visual Studio進行設置 延伸模組 Qt VS Tools Qt Options Add D:\Qt\Qt5.13.2\5.13.2\msvc2015_64 最後新增專案 Qt GUI Application, 編譯看是否能顯示GUI PS. 我沒特別設置環境變數

[Qt, Visual Studio, C++] Visual Studio + Qt:GetVarsFromMakefile 任務意外失敗

使用Visual Studio 去建置Qt方案時出現以下訊息 : Qt:GetVarsFromMakefile 任務意外失敗 原因貌似是一個 Qt 5.14 的 Bug, 詳細如下: https://bugreports.qt.io/browse/QTVSADDINBUG-722 解決方式如下 : 於延伸模組移除Qt Visual Studio Tools 至 https://download.qt.io/development_releases/vsaddin/2.4.2/  , 下載並安裝rev.09.vsix

[CGAL, BOOST, C++, Visual Studio] Mutex is not supported when compiling with /clr or clr:pure

使用CLR專案去建置GUI並搭配CGAL的套件,出現以下訊息 : [C++] Mutex is not supported when compiling with /clr or clr:pure  目前已知原因如下 : C++ / CLR在編譯時不允許使用<mutex>, <thread>, <future>, <condition_variable>。 CGAL編譯時所包含的Boost裡有<boost/thread/mutex.hpp>, 因此編譯器會有不兼容的問題。 解決方法目前還在想,但有一個方法可能可以試試 : 將thread額外拿出來自己寫, 重新繼承? (網路上查到的, 還未確認)

[CGAL, CMake, Visual Studio, BOOST, Eigen] CMake 編譯 CGAL 之流程

首先需要一些事前準備的安裝軟體,如下 : Visual Studio (版本隨意,我自己是用2019,盡量不要2013) CMake (URL:  https://cmake.org/download/ ) CGAL (4.11.3, URL:  https://github.com/CGAL/cgal/releases ) EIGEN (3.2.10, URL :  http://eigen.tuxfamily.org/index.php?title=Main_Page ) BOOST (1.65.1, URL :  https://sourceforge.net/projects/boost/files/boost-binaries/1.65.1/ ) Visual C++ (14.0, MSVC140) 特別要注意的是Visual C++版本, 我直接上2019的原因就是有很多相關SDK或Framwork都比較新, 可以向下相容,比較不會有少東少西的問題, 但要注意的是MSVC版本到底是要以哪個為主, 如果是要以MSVC140,那Visual Studio 2019安裝時記得要裝MSVC140相關的套件! CMake的部分,詳細如下 :  where is the source code : CGAL路徑 where to build the binaries : CGAL路徑\build (自行建立一個build資料夾) 執行configure,選擇Visual Studio版本 執行後發現有些路徑需要設置,例如 : BOOST、EIGEN3... 設置路徑完畢後將以下打勾 BUILD_SHARED_LIBS BUILD_TESTING CGAL_DONT_OVERRIDE_CMAKE_FLAGS CGAL_ENABLE_PRECONFIG WITH_CGAL_Core WITH_CGAL_ImageIO WITH_Eigen3 WITH_GMP WITH_MPFR 執行Generate以及Open Project 選擇Debug / x64  ALL_BUILD右鍵建置 選擇Release / x64 ALL_BUILD右鍵建置 最後在lib底下有出現相關lib以及bin

[OpenCV] Visual Studio 找不到各種 dll

常常Visual Studio建立專案時,會缺少各種xxx.dll,這邊紀錄一下解決方法 :  將 dll 丟進去 system32  丟進 Visual Studio 專案內

[CMake] 編譯CGAL時出現" Could NOT find Boost ",Error log出現 " 'pthread.h': No such file or directory "

工作編譯CGAL發生的問題, 最後檢查發現應該是CGAL版本與MSVC版本對應不一樣, boost_1_65_1-msvc-14.1-64.exe = MSVC 14 boost_1_65_1-msvc-12.0-64.exe = MSVC 12 總之就是太粗心了...要注意