小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Delphi機(jī)器視覺組件OpenCV

 喜歡站在山上 2024-08-16 發(fā)布于吉林

最近項(xiàng)目需要用到圖像比對和文字識別,我第一個(gè)想到的就是OpenCV,

相信大家也一定聽說過它,傳言它是一個(gè)圖像處理和人臉識別的庫吧。

它的應(yīng)用非常廣,

除了人臉識別,它還可以做:

美顏:自拍的時(shí)候瘦臉、大長腿、給眼睛加副眼鏡等

OCR:車牌識別、文字識別、識別名片、發(fā)票等

自動駕駛:車道檢測、交通標(biāo)志檢測、障礙物檢測等

工業(yè)領(lǐng)域:產(chǎn)品缺陷檢測、火情檢測等

醫(yī)療領(lǐng)域:病源區(qū)域檢測、病源周長、面積等,如確定腫瘤的邊界和體積

當(dāng)然還有人工智能領(lǐng)域等。

OpenCV的重要意義在于,它給了計(jì)算機(jī)一雙眼睛! 

那么OpenCV有Delphi的控件包嗎?

有的,并且是開源的,

控件介紹

在Github上搜索Delphi OpenCV,會出來兩個(gè)主要的結(jié)果,

Star都比較高,    

圖片

第一個(gè)是Delphi-OpenCV,是將OpenCV的頭文件翻譯成Pas文件,    

https://github.com/Laex/Delphi-OpenCV

圖片

它支持的OpenCV版本是2.4.13,是一個(gè)比較低的版本,目前OpenCV的新版是4.10,

所以我選擇使用第二個(gè)Delphi-OpenCV-Class項(xiàng)目,

它支持4.10:

https://github.com/Laex/Delphi-OpenCV-Class

圖片

支持的Delphi版本為Delphi 10.4~12。

這兩個(gè)項(xiàng)目都是同一個(gè)作者:Laentir Valeov,

俄羅斯人的Delphi牛人真多!

我們把它下載下來:

圖片

Delphi-OpenCV-Class控件安裝:

控件包下載下來之后,先安裝,

打開Delphi-OpenCV-Class-main\packages\Delphi 12 Athens\目錄中的CVClassGroup.groupproj    

圖片

圖片

然后再配置Delphi的Library Path:    

圖片

把控件源碼目錄添加進(jìn)去:

圖片

還需要把OpenCV相關(guān)的dll放在工程生成目錄:

下載OpenCV 4.10,地址:

https:///releases/

解壓之后,    

將opencv\build\x64\vc16\bin\中的dll

復(fù)制到Delphi-OpenCV-Class-main\bin\

圖片

再將Delphi-OpenCV-Class-main\redist\opencv_delphi4100\中的dll

拷到Delphi-OpenCV-Class-main\bin\

圖片

github上下載Delphi-OpenCV項(xiàng)目,把里面的VC redist的dll也拷到Delphi-OpenCV-Class-main\bin\    

圖片

然后打開Delphi-OpenCV-Class-main\samples\Samples.groupproj就可以跑示例了:    

圖片

但是我這里Debug模式運(yùn)行的時(shí)候還是少DLL,Release模式?jīng)]有提示:    

圖片

我不清楚是不是我系統(tǒng)的問題,

一開始以為是我的VC Redist版本太低了,

又下載了很多高版本的,

還是不行,最后在谷歌下載了這個(gè)vcruntime140_1d.dll就可以了。

因?yàn)槭纠泻芏鄨D片都是直接使用OpenCV中的資源:

所以還要在cv.resource單元中的OpenCVRootPath值修改為你下載的opencv的資源目錄,    

圖片

第一個(gè)示例AddingImages是將兩張圖片以輸入的透明度融合:    

圖片

圖片

圖片

至此,OpenCV-Delphi-Class才算安裝完畢!

還需要注意:

示例都是設(shè)置成Win 64位編譯,不要有中文目錄,不然斷點(diǎn)會失效,不能調(diào)試!

OpenCV-Delphi-Class基本用法:

OpenCV的圖片是一個(gè)多維數(shù)組,

在Delphi控件中這個(gè)類型被定義為TMat,

基本的方法如下:

imread方法用于讀取圖片

imshow方法用于顯示圖片

waitkey方法用于等待用戶輸入

我們來簡單試一下:

先建一個(gè)控制臺工程,    

圖片

因?yàn)槲覀兊膁ll都是64位的,

所以項(xiàng)目要添加Win 64平臺

圖片    

圖片

圖片

再設(shè)置工程輸出目錄指定到上面我們放好dll的目錄:

圖片

代碼如下:    

圖片

運(yùn)行:

圖片

按下任意鍵,程序就會退出了。

當(dāng)然了,這僅僅只是個(gè)開始,

OpenCV還有圖像二值化、濾波、邊緣輪廓檢測、圖片匹配、視頻處理、人臉識別等方法,

后續(xù)我會出一些很相關(guān)的應(yīng)用!

我也認(rèn)識有Delphier前輩用OpenCV做醫(yī)療圖像處理、驗(yàn)證碼識別、物體檢測等,

相信Delphi與OpenCV+AI互相配合也是未來的一片藍(lán)海!

那么你有用OpenCV做過哪方面應(yīng)用或者想法呢?

請?jiān)谙路搅粞詤^(qū)交流!    

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多