我這里有道的問題是用openCV做人臉識別的時(shí)候我用的是java, 實(shí)際寫代碼的時(shí)候 發(fā)現(xiàn)下載下來的jar包里面沒有org.opencv.face.LBPHFaceRecognizer;后面百度才看到?LBPHFaceRecognizer 文件在opencv_contrib里面,但是導(dǎo)出百度都找不到已經(jīng)編譯好的jar包,就只能自己編譯了。
給個(gè)百度網(wǎng)盤的下載鏈接:
鏈接: https://pan.baidu.com/s/153YEQV2QWpVflV4PqbrDHg 提取碼: xc23?
這里先說具體步驟和結(jié):
編譯主要分兩步:
一個(gè)是先編譯openCV,
二把opencv_contrib內(nèi)容加進(jìn)去。
網(wǎng)上面找了好多編譯opencv_contrib 的方法都沒有成功,要么沒有成功編譯出來jar包要么根本就沒有編譯成功。我這邊經(jīng)過各種嘗試。最終的結(jié)論是:1先只編譯openCV確保編譯成功,能編譯出來jar包這個(gè)別人講的比我詳細(xì),給幾個(gè)我參考的鏈接:
Windows環(huán)境下OpenCV及OpenCV-contrib通過CMake的源碼編譯安裝_cmake安裝opencv_墮落的黑光的博客-CSDN博客
cmake 編譯opencv源碼 生成jar包_opencv 編譯jar-CSDN博客
open cv中cmake編譯出現(xiàn)Download: opencv_ffmpeg.dll、ippicv等失敗的解決方法_opencv 編譯 下載dll報(bào)錯(cuò)ippicv_2021.8_win_intel64_2023033-CSDN博客
這里面坑太多了,遇到?opencv_contrib編譯的部分可以跳過不看,我這里有一個(gè)更簡單的編譯方法。
編譯成功之后jar包在build文件夾下的? \install\java 里面。
然后把?opencv_contrib-4.8.0\opencv_contrib-4.8.0\modules 下面的文件夾復(fù)制到opencv-4.8.0\modules 下面重新編譯一次,就可以了。
這樣jar包里面就有face模塊了,我這里上傳一個(gè)編譯好的jar包可以自行下載。
OpenCV 介紹(不感興趣可以跳過看重點(diǎn)):
OpenCV(Open Source Computer Vision Library)是一個(gè)跨平臺計(jì)算機(jī)視覺庫,支持多種編程語言,包括C++、Python、Java等。OpenCV提供了大量的計(jì)算機(jī)視覺算法,包括圖像處理、特征檢測、目標(biāo)識別、視頻分析等。OpenCV被廣泛應(yīng)用于機(jī)器視覺、圖像處理、生物識別、醫(yī)療診斷、安防監(jiān)控等領(lǐng)域。 OpenCV的特點(diǎn)包括:
* 跨平臺:OpenCV支持多種操作系統(tǒng),包括Windows、Linux、Mac OS X等。
* 開源:OpenCV是開源軟件,可以免費(fèi)使用。
* 豐富的算法:OpenCV提供了大量的計(jì)算機(jī)視覺算法,包括圖像處理、特征檢測、目標(biāo)識別、視頻分析等。
* 易用性:OpenCV的API簡單易用,可以快速上手。 OpenCV是計(jì)算機(jī)視覺領(lǐng)域最流行的開源庫之一,被廣泛應(yīng)用于各行各業(yè)。如果您對計(jì)算機(jī)視覺感興趣,建議您學(xué)習(xí)OpenCV。 以下是一些使用OpenCV的項(xiàng)目:
* 人臉識別:OpenCV可以用于人臉識別,識別出人臉的關(guān)鍵點(diǎn),并對人臉進(jìn)行身份識別。
* 目標(biāo)檢測:OpenCV可以用于目標(biāo)檢測,檢測出圖像中的目標(biāo),并對目標(biāo)進(jìn)行分類。
* 視頻分析:OpenCV可以用于視頻分析,分析視頻中的行為,并對視頻進(jìn)行分類。
* 機(jī)器視覺:OpenCV可以用于機(jī)器視覺,控制機(jī)器人,并對機(jī)器人進(jìn)行導(dǎo)航。 OpenCV是一個(gè)非常強(qiáng)大的計(jì)算機(jī)視覺庫,可以用于很多不同的應(yīng)用場景。如果您對計(jì)算機(jī)視覺感興趣,建議您學(xué)習(xí)OpenCV。
編譯過程也是參考網(wǎng)上的步驟,自己也遇到過一些問題:
OpenCV:https://github.com/opencv/opencv
OpenCV_contrib:https://github.com/opencv/opencv_contrib OpenCV的拓展庫,版本一定要和OpenCV對應(yīng),選裝
CMake:https://cmake.org
Visual Studio(VS):https://visualstudio.microsoft.com/zh-hans
VS安裝時(shí)勾選上使用C++的桌面開發(fā),建議把通用Windows平臺開發(fā)一并勾上(曾經(jīng)出現(xiàn)過安裝完后缺少C&C++的頭文件)
1,先下載OpenCV 和?OpenCV_contrib 源碼
2,安裝CMake 編譯工具(之前安裝好可以直接用)。
3,安裝Visual Studio (之前安裝好可以直接用)
4,編譯OpenCV
打開CMake,設(shè)置好路徑
3然后點(diǎn)ConFigure,
編譯出錯(cuò)問題解決:
解決方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可參考)-CSDN博客
編譯之后對編譯選項(xiàng)做一些修改, 我把python相關(guān)的選項(xiàng)去掉了,因?yàn)槲疫@里會報(bào)錯(cuò)。
在 search 對話框中輸入OPENCV_EXTRA_MODULES_PATH,找到OPENCV_EXTRA_MODULES_PATH后在value中填入編譯opencv_contrib解壓目錄中的modules路徑
在search 中輸入OPENCV_ENABLE_NONFREE ,在value值中點(diǎn)擊選中。如果沒有選中,那么類似SIFT已經(jīng)被申請專利的方法無法使用。
4,點(diǎn)Genreate編譯
編譯的過程中還會遇到包下載不下來的情況,這里需要換一下包的路徑。
cmake解決opencv編譯下載失敗的方法-CSDN博客
編譯過程中看一下日志里面有沒有error.有的話就需要查看了,主要是紅色部分的日志,一般都是資源下載不下來。
第三步和第四步是最痛苦的,不過需要解決一下,都能百度到解決方法。
出現(xiàn)這兩行也需要看一下上面的日志有沒有error的。
Configuring done (93.9s)
Generating done (3.0s)
5,編譯成功之后點(diǎn)open project? 用Visual Studio編譯。
找到CMakeTargets下面的INSTALL右鍵點(diǎn)生成,然后等待就可以了。
選instal,然后生成
10)最后在E:/openCV/build/install/java 路徑下面就是我們的生成的jar包了
這三部解決了就已經(jīng)完成90%了。文章來源:http://www.zghlxwxcb.cn/news/detail-826169.html
然后再把?opencv_contrib-4.8.0\opencv_contrib-4.8.0\modules 下面的文件夾復(fù)制到opencv-4.8.0\modules 下面重新編譯一次,就可以了。文章來源地址http://www.zghlxwxcb.cn/news/detail-826169.html
到了這里,關(guān)于cmake 編譯opencv_contrib源碼 生成jar包解決org.opencv.face.LBPHFaceRecognizer不存在問題。的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!