作者|lazar gugleta
編譯|flin
**|towardsdatascience
這就是為什麼今天我們要看一看在電腦科學領域裡,對於同樣的庫,有哪些函式是你最能從中受益的!
在討論opencv的強大功能之前,讓我們先看看計算機視覺、計算機圖形學和opencv的定義,以便更好地理解我們在這裡所做的工作。
opencv(open source computer vision library)是乙個開源的計算機視覺和機器學習軟體庫。opencv的建立是為了為計算機視覺應用提供乙個通用的基礎設施,並加速機器感知在商業產品中的應用。
該圖書館提供處理和分析影象內容的工具,包括識別數字**中的物件(如人的臉和圖形、文字等)、跟蹤物件的運動、轉換影象、應用機器學習方法以及識別各種影象中的公共元素。
一旦我們解決了這個問題,我們可以從我個人選擇的十大函式開始。(使用python編寫函式)
這個函式必須放在首位,因為要用一張開始你的專案,此函式是必不可少的。從函式名可以猜到,它載入了bgr(blue-green-red)格式的影象。
載入影象後,還可以使用cvtcolor中的不同標誌將其轉換為不同的配色方案。
cv2.cvtcolor(image,cv2.color_bgr2rgb)
下面是cvtcolor的一些其他標誌:color_bgr2gray、color_bgr2hsv和color_bgr2yuv等。
這是雙向的,例如,color_yuv2bgr也是可能的。
有時你只需要乙個不同於原來大小的影象,所以resize就是你需要的函式。
cv2.resize(image, dimension, interpolation = cv2.inter_area)
它獲取原始影象,並按尺寸建立乙個新影象。尺寸定義為:
dimension = (width, height)
inter_nearest: 最近鄰插值
inter_linear: 雙線性插值
inter_cubic: 4×4畫素鄰域上的雙三次插值
inter_lanczos4: 8×8鄰域上的lanczos插值
每張有3個通道,如果我們想把它們分割成不同的,我們可以使用分割函式來實現。
(channel_b, channel_g, channel_r) = cv2.split(img)
如果影象是bgr格式,它會將每個通道分成你定義的三個變數。
如果你已經分割通道,但希望將它們合併到一起,你可以使用merge。
使用vconcat()
,hconcat()
垂直和水平連線(合併)影象。
v表示垂直,h表示水平。
如果要在三維影象(矩陣)中都填充1或0(因為矩陣要求彩色影象具有3個維度)。
size = 200, 200, 3
m = np.zeros(size, dtype=np.uint8)
n = np.ones(size, dtype=np.uint8)
作為乙個附加函式,我想在這裡新增乙個東西,那就是轉置函式。
transpose
如果我們有乙個要轉置的已定義矩陣mat,我們所要做的就是直接對mat使用這個函式:
import numpy as np
mat = np.array([[1, 2, 3], [4, 5, 6]])
mat_transpose = mat.transpose()
print(mat_tranpose)
得到輸出:
[[1 4]
[2 5]
[3 6]]
#original input
[[1, 2, 3]
[4, 5, 6]]
這主要是為初學者準備的,但是下節課我們將介紹opencv更高階的特性。
歡迎關注磐創ai部落格站:
sklearn機器學習中文官方文件:
歡迎關注磐創部落格資源彙總站:
為什麼每個人都應該嘗試Ubuntu
標籤 ubuntu 介紹linux 如果您是位狂熱的 gentoo 或者 slackware 粉絲,請離開,不要繼續讀下去。您可能不會像我說的那樣。但是向您保證,我尊敬並欣賞您的目標,致力於執行您自己可以完成的簡單的 gnu linux 安裝。我會注意保護您選擇的自由。而現在,我開始說我的。如果這兩...
每個人都應該實現自己的人生價值
在之前,寫部落格是為了記憶python的各種規則 語法。現在進入新崗位已一月有餘,覺得自己不能再這樣下去。常言道 好記性不如爛筆頭,如果不給自己的知識 經驗乙個備份,那你的經驗就等於沒有經驗。於是我在思考後在重啟個人 和繼續使用中間選擇了。因為我覺得自己搭建 不適合做穩定長期的服務。之前的自購伺服器...
賈伯斯的建議 每個人都應該學習Python
日前發布的 十四五年規劃 明確提出,發展戰略性新興產業,推動網際網路 大資料 人工智慧等同各產業深度融合。隨之而來的,是關於人工智慧 大資料的熱度討論又一次掀起了一波小高潮。一提到ai 大資料,大多數人第一時間都會聯想到程式設計,而對於程式設計,大家又會下意識的給它打上 程式設計師技能 的標籤。但賈...