python opencv 簡單閾值算法的實(shí)現(xiàn)
更新時(shí)間:2019年08月04日 09:40:04 作者:月下花弄影
這篇文章主要介紹了python opencv 簡單閾值算法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
本文先了解一個(gè)簡單閾值函數(shù),以了解一個(gè)閾值算法的具體參數(shù)。
然后比較不同閾值函數(shù)的區(qū)別。
同樣的,先用一副圖說明本文重要大綱:
#! usr/bin/env python # coding: utf-8 import cv2 img = cv2.imread('cat.jpg') img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 先將圖像矩陣進(jìn)行二值化 # img = cv2.imread('cat.jpg',0) # 也可以直接將圖像用灰度值讀入,其中0就表示用灰度讀圖 cv2.imshow('img',img) _,img1 = cv2.threshold(img,100,250,cv2.THRESH_BINARY) # 這個(gè)函數(shù)返回兩個(gè)值,第二個(gè)值才是二值化后的圖像矩陣 # 最后一個(gè)參數(shù)表示一種二值化算法 # 閾值設(shè)置為100, # 250表示大于100的像素值會(huì)被重新賦值為250 cv2.imshow('img',img1) # cv2.waitKey() cv2.destroyAllWindows() ############ 以下比較不同簡單二值化算法的區(qū)別 # 先進(jìn)行不同算法的二值化 ret,img1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY) # 從名字可以看出一點(diǎn)來,binary是二元的意思,這里指要么0,要么指定的一個(gè)值(255) print(ret) ret,img2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV) # 注意到INV表示逆,全寫是inverse ret,img3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC) # 注意到truncate表示截?cái)嗟囊馑肌_@個(gè)函數(shù)不再是二元,而是對超過某個(gè)值的部分進(jìn)行處理,否則并不會(huì)處理。 ret,img4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO) # 實(shí)際上,這也是一種階段,對大于某一個(gè)值的像素值進(jìn)行調(diào)整,與trunc不同的是,這里變?yōu)?,而不是最大值 ret,img5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV) import numpy as np import matplotlib.pyplot as plt #用這個(gè)模塊來畫圖顯示,這個(gè)庫和opencv有些不同,可參考前面的博客 # https://blog.csdn.net/qq_27261889/article/details/80543966 # 先定義以下圖的圖題和圖像矩陣 titles = ['original','binary','binary_inv','trunc','tozero','tozero_inv'] imgs = [img,img1,img2,img3,img4,img5] for i in range(6): plt.subplot(2,3,i+1)#分別畫出每一個(gè)圖 plt.imshow(imgs[i],'gray') plt.title(titles[i])#寫出圖題 plt.show()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié)
這篇文章主要介紹了python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié),需要的朋友可以參考下2021-04-04opencv+圖像處理(Image Processing in OpenCV)
這篇文章主要介紹了opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04Django框架orM與自定義SQL語句混合事務(wù)控制操作
這篇文章主要介紹了Django框架orM與自定義SQL語句混合事務(wù)控制操作,結(jié)合實(shí)例形式分析了同一個(gè)方法里面既有ORM又有自定義SQL 語句的情況下事務(wù)控制相關(guān)操作技巧,需要的朋友可以參考下2019-06-06Python如何實(shí)現(xiàn)拆分?jǐn)?shù)據(jù)集
這篇文章主要介紹了Python如何實(shí)現(xiàn)拆分?jǐn)?shù)據(jù)集問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09java關(guān)于string最常出現(xiàn)的面試題整理
在本篇文章里小編給大家整理的是一篇關(guān)于java關(guān)于string最常出現(xiàn)的面試題整理內(nèi)容,有興趣的朋友們可以參考下。2021-01-01