cv2.imread_color彩色 cv2.imread_grayscale黑白
img=cv2.imread(『cat,jpg』,option) #img是乙個矩陣bgr格式
cv2.imshow(『name』,img)#顯示影象
cv2.waitkey(0)#等待時間
cv2.destroyallwindows()#關閉視窗##這個三個可以封裝成乙個函式
img.shape#img的行列和維數
cv2.imwrite(『cat.png』,img)#儲存
type(img)#格式img.size畫素值img.dtype資料格式
cat=img(0:200,0:200)#擷取部分影象
b,g,r=cv2.split(img)#三通道影象
img=cv2,merge(b,g,r)#還原
cat_img=img.capy()#複製影象
cat_img[:,:,0]=0
cat_img[:,:,1]=0
#顯示一顏色通道
二值化
retval, dst= cv2.threshold(src, thresh, maxval,
type
) retval 得到的閾值值
dst 輸出圖
src 輸入圖,單通道
thres 閾值
maxvalue 超過閾值賦予的值
type 二值化操作的演算法有5種型別
• cv2.thresh_binary
• cv2.thresh_binary_inv
• cv2.thresh_trunc
• cv2.thresh_tozero
• cv2.thresh_tozero_inv
濾波
cv2.blur(img,(3,3))均值濾波
cv2.boxfilter(img,-1,(3,3),normalize=rrue)方框濾波
cv2.gaussianblur(img,(5,5),1)高斯
cv2.dedianblur(img,5)中值濾波
腐蝕操作
kernel=np.ones((5,5),np.uint8)卷積核
cv2.erode(img,kernel,iterations=1)腐蝕一次
膨脹cv2.dilate(img,kernel,iterations=1)
開運算先腐蝕後膨脹(胖)
閉運算先膨脹後腐蝕(瘦)
cv2.morphologyex(img,cv2.morph_open,kernel)
cv2.morphologyex(img,cv2.morph_close,kernel)
梯度運算(開運算-閉運算)得到邊界
cv2.morphologyex(img,cv2.morph_gradient,kernel)
禮帽(原始-開運算)和黑帽(閉-原始)
步驟
1進行高斯濾波
2計算梯度和方向
3應用非極大值抑制
4應用雙閾值檢測
5抑制孤立的弱邊緣
contours,hierarchy = cv2.findcontours(img,mode,methon)
#輪廓檢測
#繪製輪廓
外接矩形
x,y,w,h = cv2.boundingrect(img)
img = cv2.rectangle(img,
(x,y)
,(x+w,y+h),(
0,0,
255),2
)
cv2.matchtemplate(image, templ, method, result=none, mask=none)
image:待搜尋影象
templ:模板影象
result:匹配結果
method:計算匹配程度的方法
method:
cv_tm_sqdiff 平方差匹配法
cv_tm_ccorr 相關匹配法
cv_tm_ccoeff 相關係數匹配法 -1~1
cv_tm_sqdiff_normed 歸一化平方差匹配法
cv_tm_ccorr_normed 歸一化相關匹配法
cv_tm_ccoeff_normed 歸一化相關係數匹配法
opencv python 2 基本操作
輸出結果為 39 118181 為該畫素點的brg畫素值。opencv讀取彩色影象的畫素順序為bgr而非rgb。也可輸出單個通道的值 px img 10,10,0 print px 輸出結果為 39可通過相同的方式修改畫素值 img 10,10 255,255,255 也可使用numpy中的arra...
opencv python 4 基本變換
cv2.cvtcolor 函式可以將影象在各個色彩空間之間變換,如rgb,bgr,灰度影象,yuv,hsv等。opencv提供了超過150種色彩空間轉換方法 f i for i in dir cv2 if i.startswith color print f 輸出為所有轉換方式。cv2.resize...
OpenCV Python模糊處理
import cv2 as cv import numpy as np 均值模糊 defblur demo img dst cv.blur img,5 5 cv.imshow blur image dst import cv2 as cv import numpy as np 中值模糊 defmed...