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

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

3天內不再提示

OpenCV常用的 7 個示例(Python版)1

jf_78858299 ? 來源:小白玩轉Python ? 作者:二旺 ? 2023-02-07 16:23 ? 次閱讀

OpenCV是計算機視覺領域最流行的庫之一。它最初是用 C 和 C++ 編寫的?,F(xiàn)在也可以在 Python 中使用。它最初是由英特爾開發(fā)的。該庫是一個跨平臺的開源庫。免費使用。OpenCV 庫是一個高度優(yōu)化的庫,其主要重點是實時應用程序。

OpenCV 庫是2500多個優(yōu)化算法的組合。它可以用來檢測和識別不同的人臉,在圖像中或實時識別物體,使用視頻網絡攝像頭分類不同的人類行為,跟蹤攝像機的運動,跟蹤像汽車、人類等移動物體。

實時計數物體,將圖像拼接在一起產生高分辨率圖像,從圖像數據庫中找到類似的圖像,從使用閃光燈拍攝的圖像中去除紅眼,提高圖像質量,跟蹤眼球運動,跟蹤人臉等

它擁有大約4.7萬活躍用戶社區(qū),估計下載量超過1800萬次。許多大公司,如谷歌,亞馬遜,特斯拉,微軟,本田等使用OpenCV,使他們的產品更好,更智能。

先決條件

在開始編寫代碼之前,我們需要在我們的設備上安裝 OpenCV 。如果你是專業(yè)的編程人員并且知道每一個 IDE,那么去 Pycharm 并且在設置中從它的包管理器中安裝 OpenCV-python。

如果您是初學者或中級程序員,或者只是想關注該博客,那么我們將使用代碼編輯器而不是IDE。只需轉到Visual Studio Code網站并根據您的操作系統(tǒng)下載最新版本即可?,F(xiàn)在,我們將創(chuàng)建一個虛擬環(huán)境,在其中將安裝 OpenCV。打開終端,然后使用cd定位到桌面。使用名為opencv的mkdir創(chuàng)建一個文件夾然后在以下命令中運行。

python -m venv env

現(xiàn)在使用 env\\scripts\\activate 命令激活環(huán)境,你會看到在 C:\\Users\\username\\Desktop\\opencv 前出現(xiàn)一個帶小括號的 (env)?,F(xiàn)在只需使用 pip 安裝 OpenCV。

pip install opencv-python

我們將在這個博客中涵蓋7個主題:

  1. 讀、寫和展示一個圖像
  2. 讀取視頻與集成網絡攝像頭
  3. 縮放和裁剪圖像
  4. 使用函數的基本圖像濾波器
  5. 繪制不同的形狀
  6. 在圖像上寫文字
  7. 檢測和裁剪人臉

讀、寫和展示一個圖像

為了使用 OpenCV 讀取圖像,我們使用函數 imread() ,為了顯示圖像,我們使用函數 imshow() ,為了寫入圖像,我們使用函數 imwrite()。讓我們看看每一個的語法。

imread():

img = cv2.imread("PATH_TO_IMAGE.jpg/png")


Example
img = imread("images/dog0.jpg")

imshow():

cv2.imshow("WINDOW NAME",IMG_VAR)


Example
imshow("Dog Image",img)

imwrite():

cv2.imwrite(FILENAME, IMAGE)
filename: A string representing the file name. The filename must include image format like .jpg, .png, etc.
image: It is the image that is to be saved.


Example
cv2.imwrite('images/img',img)

讀取視頻與集成網絡攝像頭

讀取視頻文件與讀取 OpenCV 中的圖像文件非常相似。不同之處在于我們使用 cv2.videocapture()

語法

video = cv2.VideoCapture("FILEPATH.mp4")


Example
video = cv2.VideoCapture("video/dog/dog.mp4")

視頻是許多幀圖像在一起的集合,每一幀都是一個圖像。要使用 OpenCV 觀看視頻,我們只需要使用 while 循環(huán)顯示視頻的每一幀。

while True:
   success , img = cap.read()
   cv2.imshow("Video",img)
   if cv2.waitKey(1) & 0xff==ord('q'):##key 'q' will break the loop
       break

為了與網絡攝像頭集成,我們需要傳遞網絡攝像頭的端口值,而不是路徑到視頻。如果你使用的是筆記本電腦,沒有連接任何外部攝像頭,那么簡單地傳遞0,如果你連接了任何外部攝像頭,那么傳遞一個攝像頭端口值。

cap = cv2.VideoCapture(0)
cap.set(3,640)  ## Frame width
cap.set(4,480)  ## Frame Height
cap.set(10,100) ## Brightness
while True:
   success, img = cap.read()
   cv2.imshow("Video",img)
   if cv2.waitKey(1) & 0xff == ord('q'):
        break
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    21

    文章

    2102

    瀏覽量

    73453
  • 計算機視覺
    +關注

    關注

    8

    文章

    1694

    瀏覽量

    45901
  • OpenCV
    +關注

    關注

    29

    文章

    625

    瀏覽量

    41215
收藏 人收藏

    評論

    相關推薦

    60重要的Python示例

    60重要的Python示例
    發(fā)表于 10-26 09:29 ?625次閱讀

    【Raspberry Pi 3試用體驗】+Opencv+python的人臉識別

    == "__main__": process("kobe.jpg")接下來只要運行python xx.py過一會,如果圖片內有人的話生成一文件夾,里面有一張人臉
    發(fā)表于 05-13 21:38

    LabVIEW+Python+openCV

    的,動態(tài)鏈接庫也需要配置,還需要知道各個參數含義和類型,這里提供另外一種方法,那就是PythonopenCV工具包,絕對開源和免費,LabVIEW可以利用Python節(jié)點調用Python
    發(fā)表于 12-07 20:59

    如何使用Python中的OpenCV模塊檢測顏色

    在這篇文章中,我們將看到如何使用 Python 中的 OpenCV 模塊檢測顏色,進入這個領域的第一步就是安裝下面提到的模塊。pip install opencv-pythonpip install
    發(fā)表于 02-09 16:31

    OpenCV-Python-Toturial-中文版

    python編寫opencv的入門資料,介紹了python的各個函數的應用
    發(fā)表于 03-23 14:55 ?0次下載

    python圖像處理opencv步驟是怎么樣的

    越來越覺得python是一強大的工具,處理樣本確實不錯。最近因項目需要涉及到圖片處理,所以開始用python調用opencv,再次覺得python真乃神器也!
    發(fā)表于 12-04 15:29 ?4393次閱讀

    python代碼示例之基于Python的日歷api調用代碼實例

    本文檔的主要內容詳細介紹的是python代碼示例之基于Python的日歷api調用代碼實例。
    發(fā)表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b>代碼<b class='flag-5'>示例</b>之基于<b class='flag-5'>Python</b>的日歷api調用代碼實例

    OpenCV中的Python實現(xiàn)

    OpenCV是一基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數和少量 C++
    的頭像 發(fā)表于 08-25 15:55 ?2044次閱讀

    Linux Debian與Python、Flask和OpenCV識別面部

    電子發(fā)燒友網站提供《Linux Debian與Python、Flask和OpenCV識別面部.zip》資料免費下載
    發(fā)表于 08-24 10:16 ?2次下載
    Linux Debian與<b class='flag-5'>Python</b>、Flask和<b class='flag-5'>OpenCV</b>識別面部

    使用opencvpython進行智能火災檢測

    電子發(fā)燒友網站提供《使用opencvpython進行智能火災檢測.zip》資料免費下載
    發(fā)表于 11-02 15:08 ?0次下載
    使用<b class='flag-5'>opencv</b>和<b class='flag-5'>python</b>進行智能火災檢測

    Python OpenCV 的學習路線與重要知識點匯總 1

    類構成,提供了 Python、Ruby、MATLAB 等語言的接口,所以在學習的時候,要注意查閱資料的語言實現(xiàn)相關問題。 這個階段除了安裝 OpenCV 相關庫以外,建議收藏官方網址,官方手冊,官方入門教程,這些都是最佳的學習資料。
    的頭像 發(fā)表于 02-07 15:32 ?879次閱讀

    OpenCV常用7 示例Python版)2

    OpenCV是計算機視覺領域最流行的庫之一。它最初是用 C 和 C++ 編寫的。現(xiàn)在也可以在 Python 中使用。它最初是由英特爾開發(fā)的。該庫是一跨平臺的開源庫。免費使用。OpenCV
    的頭像 發(fā)表于 02-07 16:23 ?996次閱讀

    OpenCV常用7 示例Python版)3

    OpenCV是計算機視覺領域最流行的庫之一。它最初是用 C 和 C++ 編寫的?,F(xiàn)在也可以在 Python 中使用。它最初是由英特爾開發(fā)的。該庫是一跨平臺的開源庫。免費使用。OpenCV
    的頭像 發(fā)表于 02-07 16:23 ?981次閱讀

    Python實現(xiàn)OpenCV的安裝與使用

      本文實例講述了 Python 實現(xiàn) OpenCV 的安裝與使用。分享給大家供 大家參考,具體如下:  由于下一步要開始研究下深度學習,而深度學習領域很多的算法和應 用都是用 Python 來實現(xiàn)
    發(fā)表于 07-20 11:46 ?7次下載

    opencv-pythonopencv一樣嗎

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