1.圖像分類
rgb圖像、灰度圖像割捅、二值圖像
2.修改像素顏色
可以對(duì)多個(gè)像素處理
image[100:150,100:150] = [255,255,255]? (這是一個(gè)彩色圖像)
3.使用numpy包訪問(wèn)像素
創(chuàng)建圖像: np.ones((101,101,3))
獲得像素:image.item(x,y,color)? (相對(duì)于彩色圖片)
修改像素:image.itemset((x,y,color),255)??
4.獲取圖像屬性
image.shape()? ?灰度圖像得到高寬兔毒,彩色圖像還得到通道數(shù)
image.size()? ? 灰度圖像得到行列積咖楣,彩色圖像得到行列通道數(shù)積
image.dtype()? ?獲得圖像數(shù)據(jù)類型
5.圖像ROI
6.通道的拆分與合并
b,g,r = cv2.split(img)
image = cv2.merge([b,g,r])
7.圖像加法運(yùn)算
numpy加法:取模加法:像素值和小于等于255,取原值处渣,大于255則結(jié)果對(duì)255取模
調(diào)用方法:直接用加號(hào)
opencv加法:飽和運(yùn)算:像素值和小于等于255伶贰,則取原值,大于255霍比,取255
調(diào)用方法:cv2.add(img1,img2)
8.圖像融合
結(jié)果圖像=圖像1*系數(shù)1+圖像2*系數(shù)2+亮度調(diào)節(jié)度
函數(shù):addWeighted(圖1,系數(shù)1,圖2,系數(shù)2,亮度)?
9.類型轉(zhuǎn)換
cvtColor(圖像幕袱,轉(zhuǎn)換形式)
10.圖像縮放
cv2.resize(圖像,(行,列))? ?按照像素縮放
cv2.resize(圖像,NONE,fx=0.5,fy=0.5)? ?按照比例縮放
11.圖像翻轉(zhuǎn)
cv2.flip(src,flipCode)
flipCode = 0實(shí)現(xiàn)上下翻轉(zhuǎn) 悠瞬;=1左右翻轉(zhuǎn) 们豌;=負(fù)數(shù)上下左右翻轉(zhuǎn)
12.閾值分割
閾值分割:
二進(jìn)制閾值化:將大于閾值處理為最大值,否則處理為最小值
反二進(jìn)制閾值化:將大于閾值處理為最小值
截?cái)嚅撝祷簩⒋笥陂撝档闹堤幚頌殚撝登匙保駝t不變(相當(dāng)于把圖片中比較亮的部分處理為閾值)
反閾值化為0:將大于閾值的值處理為0望迎,否則不變
閾值化為0:將小于閾值的值處理為0.大于等于閾值的值則不變
threshold函數(shù)進(jìn)行閾值分割:
retval,dst =? cv2.threshold(src,thresh,maxval,type)
retval:閾值? ?dst:處理結(jié)果? ?src:源圖片? thresh:閾值? ?maxval:最大值? type:種類
13.圖像平滑處理
均值濾波:
1.定義
2.函數(shù)調(diào)用:cv2.blur(圖像,(5,5))? ?(第二個(gè)參數(shù)代表周圍的像素的選區(qū)范圍)
方框?yàn)V波:
1.定義及函數(shù)調(diào)用:
高斯濾波:
1.定義:
2.函數(shù)調(diào)用:
dst = cv2.GaussianBlur(src,ksize,sigmaX)
中值濾波:
1.定義:
2.函數(shù)調(diào)用:
dst = cv2.medianBlur(src,ksize)? ?ksize必須是比1大的奇數(shù),代表n*n的矩陣