Py之cv2:cv2(OpenCV,opencv-python)庫的簡介、安裝、使用方法(常見函數、圖像基本運算等)最強詳細攻略
目錄
cv2(OpenCV,opencv-python)庫的簡介
1、OpenCV應用領域
1.1、計算機視覺領域方向
1.2、計算機操作底層技術
cv2(OpenCV,opencv-python)庫的安裝
1、安裝OpenCV的幾種方法
T1、直接命令法 ?
T2、使用whl文件法
T3、Anaconda 環境下安裝
2、測試是否成功
cv2(OpenCV,opencv-python)庫的使用方法(常見函數、圖像基本運算等)
1、基礎函數
1.1、cv2.imread、cv2.imshow、cv2.imwrite、img.copy()?、cv2.resize、cv2.flip、cv2.warpAffine、cv2.putText、cv2.rectangle、cv2.boundingRect等函數
1.2、cvtColor之Opencv2.x和Opencv3.x
2、圖像基本運算
3、Image.open 和cv2.imread 的區別及其轉換
python PIL,
相關文章:
Py之cv2:cv2庫(OpenCV)的簡介、安裝、使用方法(常見函數、方法等)最強詳細攻略
CV:計算機視覺技術之圖像基礎知識(一)—以python的cv2庫來了解計算機視覺圖像基礎(傅里葉變換-頻域-時域/各種濾波器-線性-非線性-均值-中值-高斯-雙邊)
CV:計算機視覺圖像的基礎知識—以python的cv2庫來了解計算機視覺圖像基礎(邊緣檢測算子+平滑+輪廓標注+形態學+金字塔+傅里葉變換)—代碼實現
CV:計算機視覺技術之圖像基礎知識(一)—以python的cv2庫來了解計算機視覺圖像基礎—代碼實現(圖像顯示+加文本+變換+通道)—圖像基礎各種操作(函數及案例)
CV:計算機視覺技術之圖像基礎知識(二)—以python的skimage和numpy庫來了解計算機視覺圖像基礎(圖像存儲原理-模糊核-銳化核-邊緣檢測核,進階卷積神經網絡(CNN)的必備基礎)
CV:利用python的cv2庫實現圖像數據增強—隨機裁剪、隨機旋轉、隨機hsv變換、隨機gamma變換代碼實現
相關文章(推薦)
CV:計算機視覺技最強學習路線之CV簡介(傳統視覺技術/相關概念)、早期/中期/近期應用領域(偏具體應用)、經典CNN架構(偏具體算法)概述、常用工具/庫/框架/產品、環境安裝、常用數據集、編程技巧
? ? ? ?OpenCV (Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫。OpenCV的建立是為了為計算機視覺應用程序提供一個通用的基礎設施,并加速在商業產品中使用機器感知。作為bsd許可的產品,OpenCV使企業可以很容易地利用和修改代碼。
? ? ? ?該庫有超過2500個優化算法,其中包括經典和最先進的計算機視覺和機器學習算法的綜合集。這些算法可以用來檢測和識別人臉、識別物體、對視頻中的人類動作進行分類、跟蹤相機運動、跟蹤移動的物體、提取物體的3D模型、從立體相機中生成3D點云、將圖像拼接在一起生成整個場景的高分辨率圖像、從圖像數據庫中查找相似的圖像、從使用閃光燈拍攝的圖像中去除紅眼、跟蹤眼球運動、識別風景并建立標記,以增強現實覆蓋它等。OpenCV擁有超過4.7萬人的用戶社區,估計下載量超過1800萬次。該圖書館廣泛用于公司、研究小組和政府機構。
? ? ? ?除了像谷歌、雅虎、微軟、英特爾、IBM、索尼、本田、豐田等知名公司都使用了OpenCV庫之外,還有許多像Applied Minds、VideoSurf和Zeitera這樣的初創公司也廣泛使用了OpenCV。OpenCV的應用范圍很廣泛,從將街景圖像拼接在一起,在以色列檢測監控視頻中的入侵行為,在中國監控礦山設備,在柳樹車庫幫助機器人導航和拾取物體,在歐洲檢測游泳池溺水事故,在西班牙和紐約運行互動藝術,在土耳其檢查跑道上的碎片,在世界各地的工廠檢查產品標簽,在日本快速人臉檢測。
? ? ? ?它有c++, Python, Java和MATLAB接口,支持Windows, Linux, Android和Mac OS跨平臺計算機視覺庫。OpenCV主要傾向于實時視覺應用程序,并在可用時利用MMX和SSE指令。目前正在積極開發功能齊全的cuda和OpenCL接口。有超過500種算法,組成或支持這些算法的函數數量大約是這些算法的10倍。OpenCV是用c++原生編寫的,它有一個模板化接口,可以與STL容器無縫地工作。
? ? ? ?它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。 OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。?
? ? ? ?在計算機視覺項目的開發中,OpenCV作為較大眾的開源庫,擁有了豐富的常用圖像處理函數庫,采用C/C++語言編寫,可以運行在Linux/Windows/Mac等操作系統上,能夠快速的實現一些圖像處理和識別的任務。此外,OpenCV還提供了Java、python、cuda等的使用接口、機器學習的基礎算法調用,從而使得圖像處理和圖像分析變得更加易于上手,讓開發人員更多的精力花在算法的設計上。
opencv4。官方網站:https://opencv.org/
安裝OpenCV的經驗總結與注意事項:
pip install opencv-python ?
opencv3,
第一步,官網下載whl文件。https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv,下載相應Python版本的OpenCV的whl文件,比如如本人下載的為opencv_python?3.4.1?cp36?cp36m?win_amd64.whl
第二步,pip命令安裝。在whl文件所在目錄下,命令 進行安裝即可
pip install opencv_python?3.4.1?cp36?cp36m?win_amd64.whl
python3.7。
pip install?opencv-python
conda install?opencv-python? ? ? //Anaconda 環境下安裝,先打開Anaconda Prompt,再輸入本命令進行安裝!
20191128更新記錄
python怎么用、
最后,檢測安裝情況
import cv2
哈哈,大功告成!
python3。Welcome to OpenCV-Python Tutorials’s documentation!
CV:計算機視覺圖像的基礎知識—以python的cv2庫來了解計算機視覺圖像基礎
cv2.imread(filepath,flags)? ? ?#讀入一張圖像
cv2.imshow(wname,img)? ? ?#顯示圖像
cv2.imshow('image',img)
cv2.waitKey(0) #等待鍵盤輸入,單位為毫秒,即等待指定的毫秒數看是否有鍵盤輸入,若在等待時間內按下任意鍵則返回按鍵的ASCII碼,程序繼續運行。
#若沒有按下任何鍵,超時后返回-1。參數為0表示無限等待。不調用waitKey的話,窗口會一閃而逝,看不到顯示的圖片。
cv2.destroyAllWindow() #銷毀所有窗口
cv2.destroyWindow(wname) #銷毀指定窗口
cv2.imwrite(file,img,num)? ??#保存一張圖像
img.copy()? ? #圖像復制
cv2.resize(image, image2,dsize) ? ? #圖像縮放:(輸入原始圖像,輸出新圖像,圖像的大小)
Python cv2、cv2.flip(img,flipcode)? ??? ? ? ? ? ? ? ? ? ?#圖像翻轉,flipcode控制翻轉效果。
cv2.warpAffine(img, M, (400, 600))? ? ? ?#圖像仿射變換 :平移;裁剪、剪切、旋轉、仿射變換,
M、M_crop、M_shear、M_rotate
cv2.putText(img,'text',(50,150)? ? ? #圖像添加文字:(照片,添加的文字,左上角坐標,字體,字體大小,顏色,字體粗細)
cv2.putText(image, caption, (b[0], b[1] - 10), cv2.FONT_HERSHEY_PLAIN, 1, (255, 0, 0), 1)
cv2.putText(I,'there 0 error(s):',(50,150),cv2.FONT_HERSHEY_COMPLEX,6,(0,0,255),25)
cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)? ? #畫出矩行:img原圖、(x,y)是矩陣的左上點坐標、(x+w,y+h)是矩陣的右下點坐標、(0,255,0)是畫線對應的rgb顏色、2是所畫的線的寬度。
cv2.boundingRect(img) ? ? ? ? ?#返回圖像的四值屬性:img是一個二值圖,即是它的參數; 返回四個值,分別是x,y,w,h; x,y是矩陣左上點的坐標,w,h是矩陣的寬和高。
python traceback。cv2.cvtColor()? ? ? #圖像顏色空間轉換
? ? ?圖像的基本運算有很多種,比如兩幅圖像可以相加、相減、相乘、相除、位運算、平方根、對數、絕對值等;圖像也可以放大、縮小、旋轉,還可以截取其中的一部分作為ROI(感興趣區域)進行操作,各個顏色通道還可以分別提取及對各個顏色通道進行各種運算操作。
bitwise_and、bitwise_or、bitwise_xor、bitwise_not四個按位操作函數,是將基礎數學運算應用于圖像像素的處理中。
bitwise_and、bitwise_or、bitwise_xor、bitwise_not這四個按位操作函數。
void bitwise_and(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 & src2
void bitwise_or(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 | src2
void bitwise_xor(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 ^ src2
void bitwise_not(InputArray src, OutputArray dst,InputArray mask=noArray());//dst = ~src
opencv安裝教程python?Image.open?打開來的圖像格式,cv2.imread? 讀出來是像素格式。
CV:Image.open 和cv2.imread的簡介、區別及PIL.Image格式/OpenCV格式相互轉換代碼實現之詳細攻略
?
相關應用:CV:利用python的cv2庫實現圖像數據增強—隨機裁剪、隨機旋轉、隨機hsv變換、隨機gamma變換代碼實現
python配置opencv。
參考文章
OpenCV之bitwise_and、bitwise_not等圖像基本運算及掩膜
模塊cv2的用法
?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态