目標:從影像中擷取中央圓形石英片,移除圓外區域。最直接、非程式化的方法是使用 Photoshop 等圖像編輯軟體手動建立圓形遮罩;若需自動化批次處理,則使用 OpenCV 程式化實作。
import cv2
import numpy as np
img = cv2.imread('quartz.jpg')
h, w = img.shape[:2]
center = (w//2, h//2)
radius = min(w, h)//2 - 10 # 依實際留白調整
# 建立圓形遮罩
mask = np.zeros((h, w), dtype=np.uint8)
cv2.circle(mask, center, radius, 255, -1)
# 應用遮罩
result = cv2.bitwise_and(img, img, mask=mask)
# 若需透明背景,轉 BGRA 並以 mask 為 Alpha 通道
result_bgra = cv2.cvtColor(result, cv2.COLOR_BGR2BGRA)
result_bgra[:,:,3] = mask
cv2.imwrite('quartz_extracted.png', result_bgra)
cv2.HoughCircles)自動擬合。cv2.GaussianBlur(mask, (5,5), 0) 柔化,避免鋸齒。result[mask==0] = [255,255,255] 填白底。單張或原型驗證用 Photoshop 最快;需整合至生產線、處理數千張則撰寫 OpenCV/Python 腳本並部署至伺服器。