選擇一個固定的閾值,例如128,來進行二值化。
以下是使用固定閾值進行圖像閾值分割的範例代碼及結果:
import cv2
import matplotlib.pyplot as plt
# Load the image
img = cv2.imread('/mnt/data/Camera MV-GEC2000C#C0A800C9-Snapshot-20230316161733-1979637792559_5.jpg', cv2.IMREAD_GRAYSCALE)
# Apply fixed thresholding
threshold = 128
_, thresh_img = cv2.threshold(img, threshold, 255, cv2.THRESH_BINARY)
# Display the original and thresholded images
fig, ax = plt.subplots(1, 2, figsize=(10, 5))
ax[0].imshow(img, cmap='gray')
ax[0].set_title('Original Image')
ax[0].axis('off')
ax[1].imshow(thresh_img, cmap='gray')
ax[1].set_title('Thresholded Image')
ax[1].axis('off')
plt.tight_layout()
plt.show()
以上圖像展示了原始圖像和使用固定閾值(128)進行二值化後的結果。您可以看到閾值分割將亮度高於128的像素設置為白色,而低於128的像素設置為黑色。根據您的應用需求,您可以調整閾值以獲得最佳的分割效果。
留言列表