0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenCV就是CV世界的全部?

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-06-07 09:42 ? 次閱讀

在我一開始接觸CV的時候,所有的資料都和我說,OpenCV,甚至一段很長一段時間里,我以為OpenCV就是CV世界的全部,但是隨著研究的深入。。。

對不起,是我膚淺了。。。

但是不可否認的是它霸主的地位

但是有個奇怪的事情,就是它的Python API我是死活也找不到。。。而且,新添加的算法,都是C++的,我今天看見加了一個無損的ROI復制的功能,C++寫的,你想用Python?吃屁吧你!(除了自己寫)

84ffbd38-e589-11ec-ba43-dac502259ad0.png

但是它的文檔依舊是很不錯的學習資料

85b50dbe-e589-11ec-ba43-dac502259ad0.png

而在使用的內部也是就導入了了C++的一些編譯好的文件

85ea7224-e589-11ec-ba43-dac502259ad0.png

當然也可以去看Pypi上面的庫

866307d4-e589-11ec-ba43-dac502259ad0.png

可以看到你pip的都是機器自動化編譯的

86c0908e-e589-11ec-ba43-dac502259ad0.png

庫可以使用dorker編譯

其實更新速度倒是很快,但是文檔你看著C++的,寫著Python,有點難受。

8735205c-e589-11ec-ba43-dac502259ad0.png

但是它給了一給pyi的文件,可以輔助編程。

8772e5cc-e589-11ec-ba43-dac502259ad0.png

是我膚淺了。。。VScode的一個插件生成的。

87b7e9a6-e589-11ec-ba43-dac502259ad0.png

真真正正的CV2 是這樣的

雖然寫文字2不該 一貶一扶,但是針對現階段的這個很爛的學習水平,純C++屬實是有點難為我。

所以就要找一個純Python實現,而且功能不差,依賴的庫又少,以及還在持續(xù)更新的庫。

經過對比:

880afcd6-e589-11ec-ba43-dac502259ad0.png

這個庫映入眼簾

888814f0-e589-11ec-ba43-dac502259ad0.png

幾乎是純Python編寫

88a39ef0-e589-11ec-ba43-dac502259ad0.png

持續(xù)更新

88d7051a-e589-11ec-ba43-dac502259ad0.png

豐富的Demo

8939ac88-e589-11ec-ba43-dac502259ad0.png

一份簡短但是不失實用性的小手冊

89786c20-e589-11ec-ba43-dac502259ad0.png

豐富的API文檔

89aceacc-e589-11ec-ba43-dac502259ad0.png

下載源碼以后,打開核心的庫,可以看到有著明顯的分層

8a011908-e589-11ec-ba43-dac502259ad0.png

打開IO模塊

8a584dfe-e589-11ec-ba43-dac502259ad0.png

可以看到實現其實是很簡短的

8aa42616-e589-11ec-ba43-dac502259ad0.png

是不是幾乎是看懂了(我怕你看不懂)

當然了,這些編寫都是符合pep8的規(guī)范的,我掃描了一下,確實是格式的毛病不多。

8ae92b4e-e589-11ec-ba43-dac502259ad0.png

在這個data的文件夾里面有很多預先設置的圖像

8b2420aa-e589-11ec-ba43-dac502259ad0.png

我們拿貓開刀

8b8154b4-e589-11ec-ba43-dac502259ad0.png

注意這個顯示的時候沒有實現單獨的解碼器,而是進行了復用

8bb6be56-e589-11ec-ba43-dac502259ad0.png

這里我也把掩碼的數組打印出來了

8bf0cede-e589-11ec-ba43-dac502259ad0.png

最終我們的貓貓被處理出來

8c46f480-e589-11ec-ba43-dac502259ad0.png

當然也有可以生成3維的圖形啥的

8c83a966-e589-11ec-ba43-dac502259ad0.png

這些就是庫可以完成的內容,很多

8cc2ceb6-e589-11ec-ba43-dac502259ad0.png

平時圖像處理要完成一些奇奇怪怪的預處理,這里也很完整的有實現過程

8d02900a-e589-11ec-ba43-dac502259ad0.png

這里有一個奇怪的文件夾

8d27b04c-e589-11ec-ba43-dac502259ad0.png

查了一下是好像是這個

8d616b34-e589-11ec-ba43-dac502259ad0.png

基準測試

基準測試是指通過設計科學的測試方法、測試工具和測試系統,實現對一類測試對象的某項性能指標進行定量的和可對比的測試。

8d92d5b6-e589-11ec-ba43-dac502259ad0.png

突然發(fā)現微信的編輯器,有這個功能了

8db38de2-e589-11ec-ba43-dac502259ad0.png

在doc里面,還有一些demo

8de457ce-e589-11ec-ba43-dac502259ad0.png

隨便看一個(就是第一個)

8e4bd1b0-e589-11ec-ba43-dac502259ad0.png

另外一個demo

8ea9a808-e589-11ec-ba43-dac502259ad0.png

用的時候導入最頂層的skimage

8ef6ad10-e589-11ec-ba43-dac502259ad0.png

如果不指定會導入所有的模塊

8f2666ea-e589-11ec-ba43-dac502259ad0.png

當然也可以使用這樣的語句把所有的自帶圖片注冊到系統路徑

但是它對視頻的處理不友好,可以使用PyAV這個庫,當然你要下載二進制的FFmpeg。

https://github.com/BtbN/FFmpeg-Builds/releases

8f8d2e02-e589-11ec-ba43-dac502259ad0.png

8facd4d2-e589-11ec-ba43-dac502259ad0.png

https://joblib.readthedocs.io/en/latest/

9006ad9a-e589-11ec-ba43-dac502259ad0.png

圖像處理需要進行大量的重復操作,也可以使用Jpblib來加速這個過程。

總的來說,這個庫是現階段和適合深入研究的庫,至少以Numpy打底,日后搞什么都OK。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    21

    文章

    2102

    瀏覽量

    73457
  • OpenCV
    +關注

    關注

    29

    文章

    625

    瀏覽量

    41218

原文標題:下一個CV庫又何必是OpenCV?

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發(fā)表于 07-16 10:42 ?1666次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發(fā)表于 07-16 10:38 ?889次閱讀

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺庫,提供了大量的計算機視覺算法和工具。以下是OpenCV的主要功能: 圖像處理
    的頭像 發(fā)表于 07-16 10:35 ?1257次閱讀

    嵌入式學習-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu中編譯OpenCV

    在之前發(fā)布的文章中探討了交叉編譯OpenCV并部署至嵌入式系統的方法。然而,在調試階段,我們發(fā)現在 Ubuntu 環(huán)境下將 OpenCV 編譯為 X86 架構可能更加方便和高效。 通過在主機上編譯并
    發(fā)表于 06-07 09:21

    STM32MP135如何使用opencv-python或v4l2-ctl打開攝像頭,并保存為圖片?

    如題,我在使用v4l2-ctl和opencv的時候,打開攝像頭保存是可以,但是保存出來的圖片都很有問題 比如 或者圖片上半部分是被壓扁的不知道什么色彩的圖片,下面全是灰色 我嘗試過用opencv
    發(fā)表于 05-30 06:16

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發(fā)表于 03-01 15:52 ?1347次閱讀
    基于<b class='flag-5'>OpenCV</b> DNN實現YOLOv8的模型部署與推理演示

    【米爾-全志T113-i開發(fā)板試用】發(fā)布opencv-mobile米爾t113i專享預編譯包

    /Allwinner_SoC_Family 網站資料,sun8iw20 就是 T113 核心代號,因此這個檢查方法可能在其他廠商的T113芯片上也能成功 bool is_t113i() { FILE* fp = fopen
    發(fā)表于 02-25 20:23

    【米爾-全志T113-i開發(fā)板試用】基礎開發(fā)環(huán)境配置和opencv-mobile移植測試

    /highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::Mat bgr = cv
    發(fā)表于 01-23 15:13

    在全志H616核桃派上實現USB攝像頭的OpenCV顏色檢測

    :hsvImage= cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)cv2.inRange,給定一個要檢測的hsv顏色范圍,返回一張黑白圖。將hsv值在該范圍內的像素點
    發(fā)表于 01-22 10:10

    【米爾-全志T113-i開發(fā)板試用】基礎開發(fā)環(huán)境配置和opencv-mobile移植測試

    /highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::Mat bgr = cv
    發(fā)表于 12-27 20:04

    【飛騰派4G版免費試用】飛騰派SeetafaceEngine人臉對齊(PART2)

    ;opencv2/imgproc/imgproc_c.h\"http://CV_FILLED #include \"face_detection.h\" #include \"
    發(fā)表于 12-19 09:57

    【飛騰派4G版免費試用】飛騰派SeetafaceEngine人臉檢測

    使用的OpenCV版本是早期OpenCV–2.4.11,需手工修改為支持OpenCV-4.x版本函數。Seetaface包含 人臉檢測FaceDetection 、 人臉對齊FaceAlignment 、人臉
    發(fā)表于 12-18 10:53

    OpenCV邊緣模板匹配算法原理詳解

    OpenCV中自帶的模板匹配算法,完全是像素基本的模板匹配,特別容易受到光照影響,光照稍微有所不同,該方法就會歇菜了!搞得很多OpenCV初學者剛學習到該方法時候很開心,一用該方法馬上很傷心
    的頭像 發(fā)表于 12-07 10:56 ?1291次閱讀
    <b class='flag-5'>OpenCV</b>邊緣模板匹配算法原理詳解

    OpenCV4.8 CUDA編程代碼教程

    OpenCV4支持通過GPU實現CUDA加速執(zhí)行,實現對OpenCV圖像處理程序的加速運行,當前支持加速的模塊包括如下。
    的頭像 發(fā)表于 12-05 09:56 ?960次閱讀
    <b class='flag-5'>OpenCV</b>4.8 CUDA編程代碼教程

    OpenCV對openEuler提供上游原生支持

    2023年11月17日,OpenCV社區(qū)正式接納openEuler作為持續(xù)集成(Continuous Integration,CI)系統的操作系統之一,對openEuler提供上游原生支持
    的頭像 發(fā)表于 11-20 09:14 ?799次閱讀