我選用的教材是opencv-python-torturial的翻譯版本,這裡給出基礎部分的學習**以及我的學習備註。
import numpy as np
import cv2
img = cv2.imread(
'untitled.png',0
)#這裡後面的引數是如何讀取這張,即以下三種情況
print
(cv2.imread_color,
'\n'
)#彩色影象,不包含透明度,值為1
print
(cv2.imread_grayscale,
'\n'
)#灰度影象,值為0
print
(cv2.imread_unchanged,
'\n'
)#彩色影象,包含alpha通道,值為-1
cv2.imshow(
'image'
,img)
#以預設方式展示一張
cv2.namedwindow(
'image2'
,cv2.window_normal)
#建立可以調節視窗大小的視窗
cv2.imshow(
'image2'
,img)
#在可調節視窗顯示
cv2.imwrite(
'gray.png'
,img)
#儲存灰度影象
cv2.namedwindow(
'example'
,cv2.window_normal)
img2=np.zeros(
(512
,512,3
), np.uint8)
#np.zeros是得到乙個用0填充的陣列(512,512)是陣列維度和每個元素的維度,即我們需要的全黑框的畫素,3應該和bgr顏色有關
cv2.line(img2,(0
,0),
(511
,511),
(255,0
,0),
5)#line(影象目標,起始座標,結束座標,線的顏色,線寬必須大於0(可以取到很大))
cv2.rectangle(img2,
(384,0
),(510
,128),
(0,255,0
),0)
#rectangle(影象目標,↖座標,↘座標,線的顏色,-1為填充(>=0為線寬,可以取到很大))
cv2.circle(img2,
(447,63
),63,
(0,0
,255),
-1)#circle(影象目標,圓心,半徑,線的顏色,-1為填充(>=0為線寬,可以取到很大))
cv2.ellipse(img2,
(256
,256),
(100,50
),0,
0,180,(0
,255
,255),
-1)#ellipse(影象目標,橢圓中心,橢圓長短軸長度(a,b),橢圓偏轉角度,圓弧起始角度,圓弧結束角度,顏色,線寬與是否填充,線的型別(此處未引用))
font=cv2.font_hershey_******x
cv2.puttext(img2,
'opencv',(
10,500)
, font,4,
(255
,255
,255),
2)#puttext(影象目標,顯示的字,字的位置,字型型別,字型大小,字型顏色,粗細)
cv2.imshow(
'example'
,img2)
cv2.namedwindow(
'example2'
,cv2.window_normal)
img3=np.zeros(
(512
,512,3
), np.uint8)
pts=np.array([[
10,5]
,[20,
30],[
70,20]
,[50,
10]], np.int32)
#建立陣列,資料型別為np.int32
pts=pts.reshape((-
1,1,
2))#重組陣列,-1是說根據後面兩個維度,計算這個維度的值
cv2.polylines(img3,
[pts]
,true,(
0,255,0)
,0)#畫多條線,注意pts必須加[pts],否則畫出來只是四個點
#polylines(影象目標,線的陣列,是否閉合(false的話就不閉合),線的顏色,線寬(必須》=0))
Python OpenCV學習(十二)Haar聯級
haar特徵 haar特徵是一種反映影象的灰度變化的,畫素分模組求差值的一種特徵。它分為三類 邊緣特徵 線性特徵 中心特徵和對角線特徵。用黑白兩種矩形框組合成特徵模板,在特徵模板內用 黑色矩形畫素和 減去 白色矩形畫素和來表示這個模版的特徵值。例如 臉部的一些特徵能由矩形模組差值特徵簡單的描述,如 ...
python opencv學習筆記(二)
影象與原始位元組之間的轉換 從概念上,乙個位元組能表示0到255的整數,通常乙個畫素每個通道由乙個位元組表示。乙個opencv影象是.array型別的二維或者三維陣列。8位的灰度影象是乙個含有位元組值得二維陣列。乙個24位的bgr影象是乙個三維陣列,也包含了位元組值,可以使用表示式訪問這些值,如im...
Python OpenCV學習(7) 模板匹配
利用python學習opencv,個人感覺比較方便。函式的形式與c 基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境pycharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。下面是利用python語言結合opencv的模板匹配 6...