openCV的基本操作 一

2021-10-02 14:29:52 字數 2982 閱讀 6934

import cv2

# 用cv2開啟檔案

path =

"dress.jpeg"

im = cv2.imread(path)

# 設定視窗格式

cv2.namedwindow(

"dress",0

)# 顯示視窗,根據視窗名追蹤視窗

cv2.imshow(

"dress"

, im)

# 等待輸入

cv2.waitkey(

)# 摧毀所有視窗

如果太大,可以設定cv2.namedwindow("dress", 0),預設值是1。

#     src:輸入影象

# im2:輸出影象,與輸入影象具有相同大小和深度

# code:色彩空間轉換**,例如cv2.color_bgr2gray等

# dstcn:目標影象中的通道數;預設引數為0,從src和code自動匯出通道

im2 = cv2.cvtcolor(im, cv2.color_bgr2rgb,0)

# 根據不同通道進行分離

# bimb = im2[:,

:,0]

# gimg = im2[:,

:,1]

# rimr = im2[:,

:,2]

# 平均卷積核

kernel_a = np.array(([

0,0.2,0]

,[0.2,

0.2,

0.2],[

0,0.2,0]

), dtype=

"float32"

)# 加權卷積核

kernel_q = np.array(([

0.1,

0.1,

0.1],[

0.1,

0.2,

0.1],[

0.1,

0.1,

0.1]

), dtype=

"float32"

)ima = cv2.filter2d(im,-1

, kernel_a)

imq = cv2.filter2d(im,-1

, kernel_q)

左:原圖, 中:平均卷積核,右加權卷積核

# 平均濾波

# im 原始

# ksize 濾波器大小(x, y)

ima = cv2.blur(im,(5

,5))

# 高斯濾波

# ksize 濾波器大小(x, y)

# sigmax 模糊半徑

img = cv2.gaussianblur(im,(3

,3),

10, sigmay=10)

# 中值濾波

# ksize n ,代表n*n方塊裡取中間值

imm = cv2.medianblur(im,

9)

左:平均濾波,中:高斯濾波,右:中值濾波

# 獲得乙個高斯卷積核

kernel = cv2.getgaussiankernel(3,

5)# 開運算

im2 = cv2.morphologyex(im, cv2.morph_open, kernel)

# 閉運算

im3 = cv2.morphologyex(im, cv2.morph_open, kernel)

左:原圖, 中:開運算, 右:閉運算

# 獲得乙個高斯卷積核

kernel = cv2.getgaussiankernel(3,

5)# 腐蝕的兩種方式

im2 = cv2.morphologyex(im, cv2.morph_erode, kernel)

im21 = cv2.erode(im, kernel)

# 膨脹的兩種方式

im3 = cv2.morphologyex(im, cv2.morph_dilate, kernel)

im31 = cv2.dilate(im, kernel)

左1:原圖,左2:腐蝕1,左3,腐蝕2,左4:膨脹1,左5膨脹2

左起:原圖,border_constant, border_replicate, boder_reflect

opencv的Mat類基本操作

官方對mat介紹的原話 the class mat represents an n dimensional dense numerical single channel or multi channel array.it can be used to store real or complex va...

逐步積累openCV基本操作

1,opencv中的roi介紹 roi region of interest 是指影象中的乙個矩形區域,可能你後續的程式需要單獨處理這乙個小區域,如圖所示 如上圖所示,就是roi的乙個例子,如果你對影象設定了roi,那麼,opencv的大多數函式只在該roi區域內運算 只處理該roi區域 如果沒設r...

python環境下OpenCV的基本操作

如下操作可實現將png格式的轉化成jpg格式的影象,括號中的內容可為絕對路徑,如 windows下c users mypic.png unix環境下 home joe mypic.png。import cv2 image cv2.imread mypic.png cv2.imwrite mypic....