訂閱
糾錯(cuò)
加入自媒體

OpenCV指南1:如何在圖像中添加形狀和文字?

大家好,在接下來(lái)的博客中,我會(huì)盡力幫助你開(kāi)始你的 Open CV 課程。這是該系列的第一篇博客,在這篇博客中,我主要關(guān)注 OpenCV 的基礎(chǔ),因此我們將在本博客中回答下面提到的問(wèn)題。

如何安裝 OpenCV?

如何加載和顯示圖像?

我們能用和圖像一樣的方式讀取和顯示視頻嗎?

如何調(diào)整圖像大小?

如何在圖像中添加形狀和文字?

如何裁剪圖像?

如何旋轉(zhuǎn)或移動(dòng)圖像?

介紹OpenCV 是開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)的代表。它是用于解決計(jì)算機(jī)視覺(jué)問(wèn)題的 Python 庫(kù)。通過(guò)使用 OpenCV,我們可以輕松添加不同的圖像,或裁剪圖像,或檢測(cè)圖像中的邊緣,或?qū)⑵溆糜谌四槞z測(cè)等。OpenCV 的編程歷史根據(jù)維基百科OpenCV 是用C++編寫(xiě)的,它的主要接口是用 C++編寫(xiě)的,但它仍然保留了一個(gè)不太全面的舊 C 接口。所有新的開(kāi)發(fā)和算法都出現(xiàn)在 C++ 界面中。在Python、Java和MATLAB / OCTAVE 中有綁定。QnA系列查看下面提到的問(wèn)答系列題目,它將涵蓋你的所有疑問(wèn)。現(xiàn)在,讓我們開(kāi)始吧。

1) 如何安裝 OpenCV?

在這個(gè)模塊中,我們需要 Numpy 和 Matplotlib 以備將來(lái)使用。所以,我們可以通過(guò)在命令提示符下執(zhí)行下面提到的命令來(lái)安裝這些(這里我假設(shè)你的系統(tǒng)中已經(jīng)安裝了 python 3.0):pip install numpypip install matplotlibpip install opencv-contrib-python

2) 如何加載和顯示圖像?

首先,我們必須導(dǎo)入一些重要的庫(kù),如下所示:import numpy as np
import pandas as pd
import cv2 as cv  ### import opencv
from google.colab.patches import cv2_imshow ### for image display
from skimage import io
from PIL import Image
import matplotlib.pylab as plt
現(xiàn)在我們將嘗試使用im.read讀取圖像,并使用cv2_imshow顯示圖像(如果有任何問(wèn)題,你也可以使用 cv.imshow,因?yàn)槲沂褂玫氖枪雀鑵f(xié)作,所以更喜歡使用 cv2_imshow)。img=cv.imread("/content/drive/MyDrive/Colab Notebooks/19mxv41g9rh61(1).jpg")
print("Shape of the image:",img.shape,"")
cv2_imshow(img)
上述代碼的輸出是:

3)我們能用和圖像一樣的方式讀取和顯示視頻嗎?

是的,我們可以,但是圖像和視頻之間有什么區(qū)別?實(shí)際上,最簡(jiǎn)單的答案是,圖像是單個(gè)圖像,而視頻是一系列以指定幀速率順序播放的圖像,通常來(lái)自播放視頻文件(數(shù)字)的軟件或播放磁帶的硬件(模擬)。換句話說(shuō),視頻具有運(yùn)動(dòng)性。當(dāng)我們嘗試讀取和顯示視頻時(shí),我們將在 OpenCV 中觀察到我們獲得圖像序列的相同操作,我們可以對(duì)圖像執(zhí)行相同的操作。讓我們看看它會(huì)如何發(fā)生。Vid=cv.VideoCapture("/content/drive/MyDrive/Colab Notebooks/Pexels Videos 2716.mp4")
while True:
 isTrue,Frame= Vid.read()
 cv2_imshow(Frame)
 if cv.waitKey(20) & 0xFF==ord('d'):
   break
Vid.release()
cv.destroyAllWindows()
上述代碼的輸出是:視頻的第1幀

視頻的第 2 幀

我已經(jīng)展示了視頻的前 2 幀。但是在輸出中,你將獲得視頻中所有可能的幀。此外,如果我們必須捕獲實(shí)時(shí)視頻,那么我們可以使用 cv.VideoCapture(0)。如果我們有 2 個(gè)攝像頭與系統(tǒng)連接,那么我們可以使用 cv.VideoCapture(1) 并且我們可以進(jìn)一步增加攝像頭數(shù)量。

1  2  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)