04-图像的阈值操作
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                04-图像的阈值操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                對(duì)圖像的閾值操作
import cv2 import matplotlib.pyplot as pltimg = cv2.imread('E:/Jupyter_workspace/study/data/cat.png',1) ret, thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY) ret, thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV) ret, thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC) ret, thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO) ret, thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV'] images = [img,thresh1,thresh2,thresh3,thresh4,thresh5]for i in range(6):plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')#這里的(2,3,i+1)表示兩行三列來(lái)顯示這六種照片,i+1表示每個(gè)照片的位置plt.title(titles[i])plt.xticks([]),plt.yticks([])plt.show()ret,dst = cv2.threshold(src,thresh,maxval,type)
ret:閾值
 dst:輸出圖
src:輸入圖,只能輸入單通道圖像,通常來(lái)說(shuō)為灰度圖
 thresh:閾值,為一個(gè)常見的數(shù)值,通常設(shè)置為127,因?yàn)槿≈捣秶荹0,255]
 maxval:當(dāng)像素值超過了閾值(或小于閾值,根據(jù)type來(lái)決定),所賦予的值,一般為255
 type:二值化操作的類型,包含以下五種類型
| cv2.THRESH_BINARY | 超過閾值的部分取maxval(最大值),否則取0 | 大于thresh的值取maxval | 越亮取maxval,較暗取為0黑——亮變白,暗變0黑 | 
| cv2.THRESH_BINARY_INV | 不超過閾值的部分取maxval(最大值),否則取0 | THRESH_BINARY的反轉(zhuǎn)方法 | 小于thresh的值取maxval——暗變白,亮變0黑 | 
| cv2.THRESH_TRUNC | 大于閾值部分設(shè)置為閾值,否則不變 | 最大的最亮的也只能是thresh閾值 | 亮的地方變thresh閾值,暗的地方不變 | 
| cv2.THRESH_TOZERO | 大于閾值部分不變,否則設(shè)為0 | 大于閾值的不變,小于等于閾值的為0 | 亮的地方不變,暗的地方變0黑 | 
| cv2.THRESH_TOZERO_INV | 小于閾值部分不變,否則設(shè)為0 | 小于等于閾值的不變,大于閾值的為0 | 暗的不變,亮的變0暗 | 
總結(jié)
以上是生活随笔為你收集整理的04-图像的阈值操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 公交车广告多少钱啊?
- 下一篇: 摩尔庄园白鲸怎么获得
