Opencv-python学习路线与图像处理方面的相关技能树(西瓜6总结)
可能是因為Opencv的博客不能寫得太水,我個人不太想寫Opencv的博客,但又不得不寫。
Opencv-python學習路線與圖像處理方面的相關技能樹(西瓜6總結)
標題
- Opencv-python學習路線與圖像處理方面的相關技能樹(西瓜6總結)
- 前言
- Opencv的優點
- 為什么選擇Opencv-python
- Opencv-python學習路線
- 1.OpenCV簡介
- 2.OpenCV中的Gui功能
- 3.核心運營(核心操作)
- 4.OpenCV中的圖像處理🌟
- 5.特征檢測與描述
- 6.剩余部分
- 相關技能補充
- 結束語
前言
本文會介紹Opencv-python學習路線和學了之后的話還需要學哪些技能從而更好得就業。畢竟知識總是要用來套現的。
我會去回顧自己所學,和在項目上的一些經驗,用心把這篇文章寫好。從而使得這篇文章更好得幫助到想往圖像方面發展的同學,或者給同樣使用Opencv的很久的同行回顧或思考。因此如果覺得本文哪里寫得不合適或有錯誤。隨時歡迎評論或者私信指出。
Opencv的優點
我一句話給各位概括一下,Opencv是一個非常理想的開源的發行的跨平臺計算機視覺庫。用了之后就是真香。
為什么選擇Opencv-python
主要因為Python本身的優點,學得快,用得爽。之后拓展也很舒服。
Opencv-python學習路線
學習路線,主要是學習三個方面。獲取圖片,處理圖片和反饋結果。
各位就把Opencv當作獨孤九劍學就行。第一步學習劍的基礎,python,numpy要懂點基礎,之后獲取圖片前期掌握一個imread就行。第二步根據情況去學習破劍式,破刀式,破槍式這些分別對應里面的圖像幾何變化、圖像閾值、形態變化等,知道有哪些功能,之后對應去用就好。等第二步多了,第三步總訣式自然水到渠成。
配合著官方的手冊里的目錄說明一下。https://docs.opencv.org/3.4.11/d6/d00/tutorial_py_root.html
1.OpenCV簡介
了解如何在計算機上設置OpenCV-Python!
掌握程度:新手全看,會裝就算過了。
2.OpenCV中的Gui功能
在這里,您將學習如何顯示和保存圖像和視頻,控制鼠標事件以及創建軌跡欄。
掌握程度:紅色框框內的掌握即可,后面的例子用到的全是imread。視頻入門之類的雖然是基礎,但是是后面的基礎,初學者要隔一段時間才能用到。
3.核心運營(核心操作)
在本節中,您將學習圖像的基本操作,例如像素編輯,幾何變換,代碼優化,一些數學工具等。
掌握程度:紅色框框內的掌握即可,至于剩的那個是很重要,不過初學者看了,短期內都不會用到。解決方案都沒有,還談什么優化呢?
4.OpenCV中的圖像處理🌟
在本節中,您將學習OpenCV內部的不同圖像處理功能。
這一部分就比較多。
圖像的幾何變換:如旋轉,平移,是圖像的基礎知識,一定要掌握。
改變色彩空間,圖像閾值,平滑圖像:可以放在一起學習。理解彩色圖,灰度圖,二值圖。接著再理解閾值的概念。而平滑圖像是個啥呢,如果你近視的話,你把眼睛一摘,這感覺就和平滑圖像差不多。之后可以再了解下高斯與中值濾波。
形態轉換:主要指的是圖像形態學操作。包含腐蝕操作,膨脹操作,開運算,閉運算,梯度計算,禮帽和黑帽。如:
開運算為先腐蝕再膨脹。對于消除噪音很有用
閉運算為先膨脹再腐蝕。在關閉前景對象內部的小孔或對象上的小黑點時很有用。
圖像漸變:可以理解為圖像梯度計算。理解里面的三種類型的梯度濾波器或高通濾波器,即Sobel,Scharr和Laplacian。Sobel為一階求導,Scharr和Laplacian為二階求導。如圖Sobel X則圖像中的橫線消失了,Sobel Y則圖像中的豎線消失了。
坎尼邊緣檢測(Canny邊緣檢測):Canny Edge Detection是一種流行的邊緣檢測算法。
影像金字塔:主要是了解cv2.pyrDown()和cv2.pyrUp(),向下采樣和向上采樣。示例給的是蘋果橘子的圖像融合。
OpenCV中的輪廓:
cv2.findContours()是里面的基礎,在這個基礎上再去探尋或者設計你需要的輪廓屬性。而這一章之前的內容可以理解為本章的基礎。這一章和前面的感覺不同,前面主要是圖對圖,也就是把圖處理為另一張圖。這一章則是圖對數據,把圖片處理為你需要的數據,比如把圖片處理為里面一個物體的面積。就是把圖片處理為數字。
個人認為本章還是很關鍵的,如我們要得到一個物體在圖片中的中心點坐標,但這張圖片里有一些噪聲干擾。我們既可以先處理噪聲,再找輪廓。也可以先找輪廓,再排除噪聲。
OpenCV中的直方圖,OpenCV中的圖像轉換:理解直方圖定義,均衡化原理,均衡化效果,傅立葉概述和變化后的效果
模板匹配,霍夫線變換,霍夫圓變換:如同字面意思分別是使用模板匹配在圖像中搜索對象,檢測線,檢測圓。很好理解,很好用。
分水嶺算法的圖像分割:找圖片中的峰值。函數是cv2.watershed(),用官方的例子說明一下。
這個cv2.watershed可以把這些硬幣都找到。
(解決問題的方法不止一種,因為這些硬幣顏色相近,你也可以用前面的顏色來判斷,接著再形態轉換,也能得到類似的效果)
使用GrabCut算法進行交互式前景提取:如標題所示,功能是前景提取,效果可能不夠理想哈。
掌握程度:只需要進去后把相關示例代碼運行一下,知道功能即可,之后建議等下一章看完做一些練習項目,練習項目在后面會提到。
5.特征檢測與描述
掌握程度:前面的概念瀏覽一下,最后的ORB,特征匹配,特征匹配+單應性查找對象把相關示例代碼運行一下,知道功能即可。這里看完之后就建議各位找點Opencv的實例應用來做做看。
相關的實例如:信用卡數字識別,車牌號識別,全景圖像拼接,停車場車位識別,答題卡識別等。要是各位對這些實例感興趣的話,我之后可以寫這方面的實例,然后放在這里。
6.剩余部分
剩余的部分肯定是有用的,在特定情況下就會用到。因此建議大家點進去看一下就行。當看到這里的時候推薦大家再回頭去細看前面的績效評估和改進技術(Performance Measurement and Improvement Techniques)(雖然“績效評估”這個翻譯優點醉,但防止大家找不到,就姑且這樣吧)
相關技能補充
以下是個人的觀點。。。
首先python,c++的基礎一定要打牢,Opencv畢竟源代碼是用c++寫的,長期來看python可能是不夠的。但如果你是搞深度學習的,用Opencv做一做特征工程,那當我沒說。圖像算法方面其實挺看學歷的(作者這個本科生就很傷),但也沒必要灰心,要相信自己的能力。除此之外,OCR可以去了解一下,直接搜tesseract-ocr。條形碼和二維碼的識別也可以去了解一下,直接搜pyzbar或者zxing。以及給各位強烈安利anaconda。
再有的就要看你要應聘什么崗位了,到招聘網站上搜索一下,投個簡歷,面試下就行。時刻去面試也很不錯哦,可以去思考接下來的發展和了解行情。
結束語
總算寫完了,寫這一篇文章自己也學到了不少,可以說是溫故而知新。也覺得自己知道的還不夠。
有幫助就點個贊和關注咯。感謝各位。
總結
以上是生活随笔為你收集整理的Opencv-python学习路线与图像处理方面的相关技能树(西瓜6总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Striving for Simplic
- 下一篇: 【Python 百练成钢】灯光模拟