本文目錄一覽:
- 1、python用OpenCV轉卡通照片報錯,好像是pyrdown的使用有問題?
- 2、高大上的YOLOV3對象檢測演算法,使用python也可輕鬆實現
- 3、可以用Python代碼繪製一個人像嗎
- 4、python的應用範圍有哪些?
- 5、如何使用python讀取排版圖片?
python用OpenCV轉卡通照片報錯,好像是pyrdown的使用有問題?
你這個是pyrdown函數使用的時候,操作一次一個 M x N 的圖像就變成了一個 M/2 x N/2 的圖像。像素不是2的整數倍造成pyrup函數使用時像素出現不對等
高大上的YOLOV3對象檢測演算法,使用python也可輕鬆實現
繼續我們的目標檢測演算法的分享,前期我們介紹了SSD目標檢測演算法的python實現以及Faster-RCNN目標檢測演算法的python實現以及yolo目標檢測演算法的darknet的window環境安裝,本期我們簡單介紹一下如何使用python來進行YOLOV3的對象檢測演算法
YOLOV3的基礎知識大家可以參考往期文章,本期重點介紹如何使用python來實現
1、初始化模型
14-16 行:
模型的初始化依然使用cv下的DNN模型來載入模型,需要注意的是CV的版本需要大於3.4.2
5-8行:
初始化模型在coco上的label以便後期圖片識別使用
10-12行:
初始化圖片顯示方框的顏色
2、載入圖片,進行圖片識別
輸入識別的圖片進行圖片識別,這部分代碼跟往期的SSD 以及RCNN目標檢測演算法類似
19-20行:輸入圖片,獲取圖片的長度與寬度
25-29行:計算圖片的blob值,輸入神經網路,進行前向反饋預測圖片
只不過net.forward裡面是ln, 神經網路的所有out層
3、遍歷所有的out層,獲取檢測圖片的label與置信度
遍歷out層,獲取檢測到的label值以及置信度,檢測到這裡YOLOV3以及把所有的檢測計算完成,但是由於yolov3對重疊圖片或者靠的比較近的圖片檢測存在一定的問題,使用YOLOV3使用非最大值抑制來抑制弱的重疊邊界
竟然把墨鏡識別了手機,體現了YOLOV3在重疊圖片識別的缺點
4、應用非最大值抑制來抑制弱的重疊邊界,顯示圖片
56: 使用 非最大值抑制來抑制弱的重疊邊界
58-59行:遍歷所有圖片
61-62行:提取檢測圖片的BOX
64-68行:顯示圖片信息
70-71行:顯示圖片
利用python來實現YOLOV3,與SSD 以及RCNN代碼有很多類似的地方,大家可以參考往期的文章進行對比學習,把代碼執行一遍
進行視頻識別的思路:從視頻中提取圖片,進行圖片識別,識別完成後,再把識別的結果實時體現在視頻中,這部分代碼結合前期的視頻識別,大家可以參考多進程視頻實時識別篇,因為沒有多進程,檢測速度很慢,視頻看著比較卡
1、初始化模型以及視頻流
2、從視頻中提取圖片,進行圖片的blob值計算,進行神經網路的預測
3、提取檢測到圖片的置信度以及ID值
4、 應用非最大值抑制來抑制弱的重疊邊界,顯示圖片
5、關閉資源,顯示圖片處理信息
每個目標檢測演算法都有自己的優缺點,個人感覺,在精度要求不是太高的情況下SSD檢測演算法可以實現較快的速度實現,畢竟精度差不多的情況下,我們希望速度越快越好
可以用Python代碼繪製一個人像嗎
可以的。
基本思路:選好畫板大小,設置好畫筆顏色,粗細,定位好位置,依次畫鼻子,頭、耳朵、眼睛、腮、嘴、身體、手腳、,完事。
都知道,turtle 是 python 內置的一個比較有趣味的模塊,俗稱海龜作圖,它是基於 tkinter 模塊打造,提供一些簡單的繪圖工具。
python的應用範圍有哪些?
Python是一門簡單、易學並且很有前途的編程語言,很多人都對Python感興趣,但是當學完Python基礎用法之後,又會產生迷茫,尤其是自學的人員,不知道接下來的Python學習方向,以及學完之後能幹些什麼?以下是Python十大應用領域!
1. WEB開發
Python擁有很多免費數據函數庫、免費web網頁模板系統、以及與web伺服器進行交互的庫,可以實現web開發,搭建web框架,目前比較有名氣的Python web框架為Django。從事該領域應從數據、組件、安全等多領域進行學習,從底層了解其工作原理並可駕馭任何業內主流的Web框架。
2. 網路編程
網路編程是Python學習的另一方向,網路編程在生活和開發中無處不在,哪裡有通訊就有網路,它可以稱為是一切開發的「基石」。對於所有編程開發人員必須要知其然並知其所以然,所以網路部分將從協議、封包、解包等底層進行深入剖析。
3. 爬蟲開發
在爬蟲領域,Python幾乎是霸主地位,將網路一切數據作為資源,通過自動化程序進行有針對性的數據採集以及處理。從事該領域應學習爬蟲策略、高性能非同步IO、分散式爬蟲等,並針對Scrapy框架源碼進行深入剖析,從而理解其原理並實現自定義爬蟲框架。
4. 雲計算開發
Python是從事雲計算工作需要掌握的一門編程語言,目前很火的雲計算框架OpenStack就是由Python開發的,如果想要深入學習並進行二次開發,就需要具備Python的技能。
5. 人工智慧
MASA和Google早期大量使用Python,為Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多編程語言中脫穎而出,各種人工智慧演算法都基於Python編寫,尤其PyTorch之後,Python作為AI時代頭牌語言的位置基本確定。
6. 自動化運維
Python是一門綜合性的語言,能滿足絕大部分自動化運維需求,前端和後端都可以做,從事該領域,應從設計層面、框架選擇、靈活性、擴展性、故障處理、以及如何優化等層面進行學習。
7. 金融分析
金融分析包含金融知識和Python相關模塊的學習,學習內容囊括Numpy\Pandas\Scipy數據分析模塊等,以及常見金融分析策略如「雙均線」、「周規則交易」、「羊駝策略」、「Dual Thrust 交易策略」等。
8. 科學運算
Python是一門很適合做科學計算的編程語言,97年開始,NASA就大量使用Python進行各種複雜的科學運算,隨著NumPy、SciPy、Matplotlib、Enthought librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪製高質量的2D和3D圖像。
9. 遊戲開發
在網路遊戲開發中,Python也有很多應用,相比於Lua or C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述遊戲業務邏輯,Python非常適合編寫1萬行以上的項目,而且能夠很好的把網遊項目的規模控制在10萬行代碼以內。
10. 桌面軟體
Python在圖形界面開發上很強大,可以用tkinter/PyQT框架開發各種桌面軟體!
如何使用python讀取排版圖片?
可以用Pillow庫實現
給個參考:
python利用PIL拼接圖片(九宮格)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/288829.html