OpenCVイメージしきい値
グローバルしきい値
しきい値規則が画像内のすべての画素に同様に適用され、しきい値が固定されている場合をグローバルと呼ぶ.
グローバルしきい値指定アルゴリズムは、入力として元の画像(src)としきい値(threshold)を用い、ソース画素位置(x,y)の画素強度をしきい値と比較して出力画像(dst)を生成する.
src(x,y) > threshold
は、dst(x,y)に値の一部を割り当てる.そうでなければ、dst(x,y)に別の値が割り当てられます.最も単純な形式のグローバルしきい値をバイナリしきい値処理と呼ぶ.
if src(x,y) > thresh
dst(x,y) = maxValue
else
dst(x,y) = 0
しきい値アルゴリズムはsrc(x,y)に適用されるしきい値規則に基づいてdst(x,y)を得る.OpenCVで使用可能な5つのしきい値タイプについて説明します.入力画像
入力画像には、数値の強度(階調値)と同じ数値が含まれます.「例えば、
200
のピクセル強度は200、32
のピクセル強度は32です.」これが32インチが200インチより暗い理由です.バイナリしきい値
しきい値規則
# 이진 임계값
if src(x,y) > thresh
dst(x,y) = maxValue
else
dst(x,y) = 0
コード#コード#
import cv2
# 이미지 읽기
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE)
# 임계값 및 maxValue 설정
thresh = 127
maxValue = 255
# 기본 임계값
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY)
結果
しきい値が127に設定されている場合、127以下の数値は表示されません.
ぎゃくにしんしきい値
逆バイナリしきい値はバイナリしきい値とは逆です.逆バイナリしきい値のターゲットピクセルは次のとおりです.
しきい値規則
# 역 이진 임계값
if src(x,y) > thresh
dst(x,y) = 0
else
dst(x,y) = maxValue
コード#コード#
import cv2
# 이미지 읽기
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE)
# 임계값 및 maxValue 설정
thresh = 127
maxValue = 255
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY_INV)
結果
クリップしきい値-THRESH TRUNC
これらのタイプのしきい値は次のとおりです.
しきい値規則
# 임계값 자르기
if src(x,y) > thresh
dst(x,y) = thresh
else
dst(x,y) = src(x,y)
コード#コード#
import cv2
# 이미지 읽기
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE)
# 임계값 및 maxValue 설정
thresh = 127
maxValue = 255
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_TRUNC)
結果
閾値(127)を超える値はすべて127に設定されており、閾値以下の値は変更されていない.maxValueは無視されました
閾値0-THRESH TOZERO
これらのタイプのしきい値は次のとおりです.
しきい値規則
# 임계값 0
if src(x,y) > thresh
dst(x,y) = src(x,y)
else
dst(x,y) = 0
コード#コード#
import cv2
# 이미지 읽기
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE)
# 임계값 및 maxValue 설정
thresh = 127
maxValue = 255
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_TOZERO)
結果
逆閾値0-THRESH TOZERO INV
逆しきい値を0に設定
しきい値規則
# 역 임계값 0
if src(x,y) > thresh
dst(x,y) = 0
else
dst(x,y) = src(x,y)
コード#コード#
import cv2
# 이미지 읽기
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE)
# 임계값 및 maxValue 설정
thresh = 127
maxValue = 255
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_TOZERO_INV)
結果
Reference
この問題について(OpenCVイメージしきい値), 我々は、より多くの情報をここで見つけました https://velog.io/@rlath/OpenCV-이미지-임계값テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol