阿洲的程式教學
關於Qt、OpenCV、影像處理演算法
固定閾值(threshold)
所謂的二值化是將影像進行區分,分成我們感興趣的部分(前景),以及不感興趣的部分
(背景),通常將某個強度當作分割的標準,這個強度稱作閾值(threshold),通常以強度
超過閾值的像素當作前景,反之則為背景。
閾值的算法主要分兩類:
固定閾值:程式或使用者直接給定一個灰階值當閾值,再用這個閾值進行二值化。
自適應閾值:輸入影像,程式依這影像計算出較合適的閾值,再用這個閾值進行二
值化。
這邊介紹如何用OpenCV的threshold(),輸入固定閾值來進行二值化。
OpenCV固定閾值二值化
double threshold(InputArray src, OutputArray dst, double thresh, double
maxval, int type)
src:輸入圖,只能輸入單通道,8位元或32位元浮點數影像。
dst:輸出圖,尺寸大小、深度會和輸入圖相同。
thresh:閾值。
maxval:二值化結果的最大值。
type:二值化操作型態,共有THRESH_BINARY、THRESH_BINARY_INV、
THRESH_TRUNC、THRESH_TOZERO、THRESH_TOZERO_INV五種。
以下為進行二值化前的原始圖,假設黑線為影像的各個像素強度,藍線為閾值:
评论0