Opencvのcv2.threshold関数の使い方は何ですか?
OpenCVでは、画像のしきい値処理を行うためにcv2.threshold関数が使用され、画像のピクセル値が二値形式に変換されます。その使用方法は以下の通りです:
retval, thresholded_img = cv2.threshold(src, thresh, maxval, type)
パラメータ説明:
- 画像の入力
- thresh: 閾値
- maxval: しきい値を超えると、与えられる値
- 閾値処理のタイプは以下の通りです:cv2.THRESH_BINARY:閾値を超えたピクセルにはmaxvalが割り当てられ、それ以外のピクセルは0が割り当てられます
cv2.THRESH_BINARY_INV:閾値を超えたピクセルには0が割り当てられ、それ以外のピクセルはmaxvalが割り当てられます
cv2.THRESH_TRUNC:閾値を超えたピクセルはそのまま、それ以外のピクセルには閾値が割り当てられます
cv2.THRESH_TOZERO:閾値を超えたピクセルはそのまま、それ以外のピクセルには0が割り当てられます
cv2.THRESH_TOZERO_INV:閾値を超えたピクセルには0が割り当てられ、それ以外のピクセルはそのままです
戻り値:
- retval:実際に使用される閾値
- 閾値化された画像:処理された二値化画像
サンプルコード:
import cv2
img = cv2.imread('image.jpg', 0) # 以灰度模式读取图像
retval, thresholded_img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('Thresholded Image', thresholded_img)
cv2.waitKey(0)
cv2.destroyAllWindows()