自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

OpenCV Qt 數據結構 Windows 計科408 計科408 2017-09-06

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

作者:feintkotlin

此次使用Qt實現的桌面應用主要用到opencv中的兩類算法:模糊算法和邊緣檢測算法。(由於此次文章和Kotlin無關,如果有人需要源碼,請在評論中說明)

先讓我們看看程序的運行效果(不得不說Qt做的程序,界面還是挺美觀的)

接下來,我來向大家講解編寫這個程序的幾個關鍵步驟

第一步:下載opencv的庫

我使用的Mac平臺,直接從官網下載的opencv的源碼,讓後進行編譯安裝,主要有一下幾個步驟:

通過終端進入存放解壓後的opencv文件夾,編譯安裝opencv,使用命令如下:

>sudo cmake -G "Unix Makefiles"

>sudo make -j8

>sudo make install

OpenCV已經被Compile完成,並且相應的lib文件存放在“/usr/local/lib”文件夾,h文件存放在“/usr/local/include”。

我記得,在windows平臺上好像有那種綠色免安裝的版本,直接解壓就可以用了。

第二步:在Qt項目的配置文件中引入相關依賴

如果你不知道怎麼使用Qt導入庫的話,直接吧下面這些文字複製到配置文件中即可(更改了配置文件後記得qmake一下,這樣配置才會生效):

INCLUDEPATH += /usr/local/include/

DEPENDPATH += /usr/local/include/

macx: LIBS += -L/usr/local/lib/ -lopencv_highgui.2.4.13

macx: LIBS += -L/usr/local/lib/ -lopencv_core.2.4.13

macx: LIBS += -L/usr/local/lib/ -lopencv_imgproc.2.4.13

macx: LIBS += -L/usr/local/lib/ -lopencv_features2d.2.4.13

macx: LIBS += -L/usr/local/lib/ -lopencv_calib3d.2.4.13

macx: LIBS += -L/usr/local/lib/ -lopencv_video.2.4.13

在這裡導入的是靜態庫,還需包含opencv的頭文件所在的目錄。

還是簡單的說一下怎麼在Qt中導入庫吧:

一、右鍵項目名稱,選擇 “添加庫”

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

二、在彈出的對話框中選擇外部庫

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

三、選擇你需要的庫文件路徑,以及包含路徑(頭文件所在路徑)

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

第三步:對OpenCv的圖片格式進行轉換

由於,Opencv中圖片的數據結構和Qt中的圖片不太一樣,如果我們需要將opencv處理圖像的結果通過Qt構建的桌面程序展現出來,則需要進行一定程度的轉換才行。

在Opencv中使用Mat類保存圖片的數據結構,讓我們通過以下代碼,將Mat轉換成Qt中的QImage對象:

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

結尾:基礎已經打好,接下來就看你自己的操作了

這個項目的代碼量還是有點多的,在這裡全部貼出來不太現實。接下來的工作就靠你自己對Opencv進行學習啦。如果快速知道opencv中的模糊算法和邊緣檢測算法如何使用,可以在評論中說明,我會在程序源碼中寫上註釋,然後傳到github上。

自己給圖片加特效:在桌面應用中使用OpenCV框架(Qt版)

喜歡這篇文章的話,就點下關注和收藏吧,不喜歡的也歡迎在評論中指出不足之處。

相關推薦

推薦中...