


OpenCV_Project_Guideline (1).pdf
: 차량 이미지를 로드하고, 가우시안 블러를 적용하여 노이즈를 제거
import cv2
import matplotlib.pyplot as plt
# 1. "car.jpg" 이미지를 cv2.imread()를 사용하여 로드
img = cv2.imread("car3.jpg")
if img is None:
raise ValueError("이미지를 불러올 수 없습니다. 파일 경로를 확인하세요.")
# 2. 로드된 이미지를 cv2.cvtColor()를 사용하여 BGR에서 그레이스케일로 변환합니다.
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 3. 그레이스케일 이미지에 cv2.GaussianBlur()를 적용하여 노이즈를 제거. 커널 크기는 (5, 5)로 설정하고 sigmaX는 0으로 설정합니다.
blur = cv2.GaussianBlur(gray, (5, 5), 0)
plt.figure(figsize=(10, 8))
plt.imshow(blur, cmap='gray')
plt.title("Blurred Grayscale Image")
plt.axis('off')
plt.show()

: 블러 처리된 이미지에서 적절한 임계값을 사용하여 문자와 배경을 분리하는 이진 이미지를 생성합니다. 흰 배경에 검은색 숫자를 얻도록 이진화 방법을 선택합니다.
thresh = cv2.adaptiveThreshold(
blur,
maxValue=255,
adaptiveMethod=cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
thresholdType=cv2.THRESH_BINARY_INV,
blockSize=15,
C=5
)
plt.figure(figsize=(12, 10))
plt.imshow(thresh, cmap='gray')
plt.title("Adaptive Thresholded Image (Black Numbers on White Background)")
plt.axis('off')
plt.show()
: cv2.adaptiveThreshold 함수를 사용하여 이미지를 이진화