OpenCV在Windows10,Python3下的編譯

2017/04/01

2017/04/07 Update: OpenCV_Contrib Compile & cv2.pyd generation

2017/04/11 Update: OpenCV_Contrib Complie

因為OpenCV官方并未提供py35預編好的安裝包,于是我們必須要去托管OpenCV的GitHub倉庫下載源代碼?。下載完后,我們需要再其目錄下新建一個build路徑來儲存Cmake生成的OpenCV庫。然后在Cmake-gui下,指定OpenCV的源路徑和生成路徑(build)然后生成即可。

OpenCV 編譯:在Cmake生成完后,來到build路徑,用VS打開opencv.sln。在載入完成后,選定ALL_BUILD生成release的庫文件。

對于pyd文件的生成,有兩種方法。一種是在OpenCV編譯完后,來到build路徑下的module,找到python3路徑并用VS打開opencv_python3.sln,然后再生成一次就可以在build下的lib路徑里找到對應python3的OpenCV庫文件cv2.cpxx-xxx_xxxxx.pyd。若VS提示說未找到python35_d.lib,則可以直接修改python安裝路徑下的pyconfig.h,將 “pragma comment(lib,"python3X_d.lib")” 改成 “pragma comment(lib,"python3X.lib")” (參考)。最后,將cv2.cpxx-xxx_xxxxx.pyd和build中bin目錄下release庫的所有dll拷貝到python安裝路徑下的DLLs即可。

另一種生成pyd文件的方法則是在ALL_BUILD完成后在VS的資源管理器中選擇INSTALL然后開始生成。生成完后在build文件夾中會有一個install文件夾,內部就包含著pyd文件。將其與build目錄下的bin文件夾中的dll文件拷到python目錄下的DLLs即可。除了生成OpenCV的python庫外,此方法亦可用于生成用于C++的OpenCV頭文件(Reference)。

關于OpenCV_Contrib

OpenCV_Contrib存放著一些實驗性的模塊。如果想要編譯Contrib,在將其從Github下載后,打開Cmake-gui,把OPENCV_EXTRA_MODULES_PATH的值填寫為Contrib下Module文件夾的路徑,然后正常Configure,Generate即可(Reference)。




最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容