Python Opencv學習總結(三) 閾值分割

2021-10-08 06:03:13 字數 2420 閱讀 8445

使用函式cv2.resize()

dst=cv2.resize(src, dsize)

src為原始影象,dsize為要處理後的影象的列行

例:b=cv2.resize(a,(122,122))

注意:第乙個數字代表列,第二個才是行

dst=cv2.resize(src,dsize,fx,fy)不使用dsize的情況下使用fx,fy

fx:在水平方向縮放多少倍,大於1就是放大,小於1就是縮小

fy:在垂直方向縮放多少倍,大於1就是放大,小於1就是縮小

例:b=cv2.resize(a,none,fx=0.5,fy=0.7) ; 不使用dsize=none,

注:dsize和fx,fy只設定乙個就行

使用函式 flip( )

dst=cv2.flip(src,flipcode)

flipcode=0

以x軸為基準軸上下翻轉

b=cv2.flip(a,0) a為原始影象

flipcode>0

以y軸為基準軸左右翻轉

b=cv2.fip(a,1)

flipcode<0

以y軸翻轉,再用x軸翻轉

b=cv2.flip(a,-1)

二進位制閾值化

該方法是:大於閾值的畫素,畫素全部設定成最大值,小於閾值的畫素,畫素全部設定成最小值。

反二進位制閾值化

方法是:先設定乙個特定的灰度值作為閾值,大於閾值畫素設定為0,小於閾值設定為255。

截斷閾值化

方法是:設定乙個閾值,影象中大於該閾值的畫素點全設定為該閾值,小於該閾值的畫素點保持不變。

反閾值化為0

方法是:大於等於閾值的畫素點變為0,小於該閾值的畫素點值不變。

閾值化為0

方法是:設定乙個閾值,大於等於閾值的畫素點,保持不變,小於該閾值的畫素點,值為0。

retval,dst=cv2.threshold(src,thresh,maxval,type)

retval:閾值 dst:結果

src:原影象 thresh:閾值

maxval:最大值 type:型別

二進位制閾值化

關鍵字:cv2.threse_binary

r,b=cv2.threshold(a,127,255,cv2.threse_binary)

反二進位制閾值化

關鍵字: cv2.thresh_binary_inv

r,b=cv2.threshold(a,127,255,cv2.thresh_binary_inv)

截斷閾值化

關鍵字: cv2.thresh_trunc

r,b=cv2.threshold(a,127,255,cv2.thresh_trunc)

反閾值化為0

關鍵字: cv2.thresh_tozero_inv

r,b=cv2.threshold(a,127,255,cv2.thresh_ tozero_inv)

import cv2

o=cv2.imread(r'd:\image\lena512.bmp'

,cv2.imread_unchanged)

#二進位制閾值化

r,b=cv2.threshold(o,

128,

255,cv2.thresh_binary)

#反二進位制閾值化

r1,b1=cv2.threshold(o,

128,

255,cv2.thresh_binary_inv)

#截斷閾值化

r2,b2=cv2.threshold(o,

128,

255,cv2.thresh_trunc)

#反閾值化為0

Python OpenCV學習(十二)Haar聯級

haar特徵 haar特徵是一種反映影象的灰度變化的,畫素分模組求差值的一種特徵。它分為三類 邊緣特徵 線性特徵 中心特徵和對角線特徵。用黑白兩種矩形框組合成特徵模板,在特徵模板內用 黑色矩形畫素和 減去 白色矩形畫素和來表示這個模版的特徵值。例如 臉部的一些特徵能由矩形模組差值特徵簡單的描述,如 ...

python opencv學習筆記(二)

影象與原始位元組之間的轉換 從概念上,乙個位元組能表示0到255的整數,通常乙個畫素每個通道由乙個位元組表示。乙個opencv影象是.array型別的二維或者三維陣列。8位的灰度影象是乙個含有位元組值得二維陣列。乙個24位的bgr影象是乙個三維陣列,也包含了位元組值,可以使用表示式訪問這些值,如im...

Python Opencv學習筆記1

我選用的教材是opencv python torturial的翻譯版本,這裡給出基礎部分的學習 以及我的學習備註。import numpy as np import cv2 img cv2.imread untitled.png 0 這裡後面的引數是如何讀取這張,即以下三種情況 print cv2....