小白學opencv python(一)

2021-09-25 14:45:55 字數 2581 閱讀 7252

環境的配置和模組的匯入

讀取影象和顯示影象

對進行操作

我使用的ide是pycharm,原因是自動補全功能和debug功能。在打**之前要安裝兩個必要的python模組opencv-python(基本環境)和opencv-contrib-python模組(額外拓展包)

直接在cmd安裝pip install opencv-python,pip install opencv-contrib-python這樣裝得到的是最新的版本號,也可以裝特定的版本

先導入模組import cv2

讀取img=cv2.imread("檔案路徑",讀取格式)

其中讀取格式有cv2.imread_color和cv2.imread_grayscale兩種,分別代表彩色和灰度影象

建立視窗:1,可以直接建立

cv2.namedwindow("視窗名",視窗大小)
2,可以在顯示中建立

cv2.imshow("視窗名」,檔案變數)
逗留時間

cv2.waitkey(0)
當括號內為零時,任意鍵退出。當為其他數字時,為逗留時間,以毫秒計算

退出視窗

cv2.destroyallwindows()
括號沒內容時,可以刪除任何我們建立的視窗。也可以在括號內輸入我們想刪除的視窗名

的儲存

cv2.imwrite("檔名「,變數」)
常見資訊的讀取

檔案的大小和通道數檔名.shape

型別檔名.dtype

vc = cv2.videocapture('檔案路徑或裝置名')

vc.isopen()返回布林值

判斷返回值

if vc.isopen():

open,frame=vc.read()

else:

open=flase

vc.read()獲得第一幀的資料,乙個資料是布林值,乙個是獲得每一幀的

通過迴圈獲得每一幀的影象

while open:

ret,frame=vc.read()

if frame==none:

break

if ret==ture:

gray=cv2.cvtcolor(檔案,要更換的效果)#影象效果變換

cv2.imshow('視窗』,檔案變數名)

if cv2.waitkey(10)&0xff==27:

break

vc.release()

cv2.destroyallwindws()

利用切片的方式

new=img[0:50,0:100]

b,g,r=cv2.split(img)
顏色融合

img=cv2.merge((b,g,r))
cv2.copymakeborder(img,top_size,botton_size,left_size,right_size,bordertype=)
•border_replicate:複製法,也就是複製最邊緣畫素。

•border_reflect:反射法,對感興趣的影象中的畫素在兩邊進行複製例如:fedcba|abcdefgh|hgfedcb

•border_reflect_101:反射法,也就是以最邊緣畫素為軸,對稱,gfedcb|abcdefgh|gfedcba

•border_wrap:外包裝法cdefgh|abcdefgh|abcdefg

•border_constant:常量法,常數值填充。

img_cat2= img_cat +10 直接相加,rgb加10

(img_cat + img_cat2) >255從零開始

cv2.add(img_cat,img_cat2) >5時為255

cv2.resize(img_dog, (500, 414))

cv2.resize(img, (0, 0), fx=4, fy=4) x軸y軸的倍數

長寬變形,因為相等的才能融合

cv2.addweighted(img_cat, 0.4, img_dog, 0.6, 0)

0.4,0.6為權重,0為亮度值

OpenCV Python形態學變換

原理形態變換是根據的形狀進行的簡單運算。一般被用在二值影象上。它需要兩個輸入,乙個是我們的原始,另乙個是被叫做結構元素或者是核,用來決定運算的型別。兩個基本的形態運算是腐蝕和dilation.其他的變形如開,合,梯度等也會有。我們來看看他們在下面這張圖上的表現。1.腐蝕 腐蝕的基本理念就和土壤腐蝕一...

OpenCV Python 形態學操作

常用的形態學操作 腐蝕 膨脹 開運算和閉運算 形態學操作就是改變物體的形狀,比如腐蝕就是 變瘦 膨脹就是 變胖 形態學操作一般作用於二值化圖,來連線相鄰的元素或分離成獨立的元素。腐蝕和膨脹是針對中的白色部分!白色的畫素為255,黑色的畫素值為0 這樣原圖中邊緣的地方就會變成0 黑色 達到了 的效果。...

OpenCV Python 形態學轉換 十七

在這一章當中,我們將學習不同的形態學操作,例如侵蝕,膨脹,開運算,閉運算等。我們將看到不同的功能,例如 cv.erode cv.dilate cv.morphologyex 等。形態變換是一些基於影象形狀的簡單操作。通常在二進位制影象上執行。它需要兩個輸入,乙個是我們的原始影象,第二個是決定操作性質...