Search

🧭 κΈ°λŠ₯ μ†Œκ°œ

  • ν˜„μž₯ 이미지 ν’ˆμ§ˆμ„ ν™•μΈν•˜κ³  κ°œμ„ ν•  수 μžˆλ‹€.

  • λ‹€μ–‘ν•œ μ „μ²˜λ¦¬ 기법을 μ μš©ν•  수 μžˆλ‹€.

  • μŠ¬λΌμ΄λ”μ™€ λ²„νŠΌμœΌλ‘œ νŒŒλΌλ―Έν„°λ₯Ό μ‘°μ •ν•  수 μžˆλ‹€.


πŸ“š κΈ°λŠ₯ μš”μ•½ (λͺ©μ°¨)

λΆ„λ₯˜ μ „μ²˜λ¦¬ μ’…λ₯˜
🎯 μ •κ·œν™” 계열 Normalize, Standardize
πŸ“ 크기/ν˜•νƒœ 정리 Resize, Crop, Padding
πŸ” 증강 (Augmentation) Flip, Rotate, Brightness, Noise
🌈 채널/색 λ³€κ²½ Grayscale, RGB to HSV
πŸŒ€ ν˜•νƒœ κ°•μ‘° Histogram Equalization, CLAHE
πŸ”‰ λ…Έμ΄μ¦ˆ 제거 Gaussian Blur, Median Blur
🎯 μ˜μ—­ μ‘°μ • ROI Crop, Masking
🌐 곡간 도메인 처리 Edge Detection, Dilation

🎨 μ£Όμš” κΈ°λŠ₯ μ½”λ“œ μ˜ˆμ‹œ

βœ… 1. Padding

def apply_padding(padding_type):
    if padding_type == 'Zero Padding':
        padded = cv2.copyMakeBorder(img_gray, 50, 50, 50, 50, cv2.BORDER_CONSTANT, value=[0, 0, 0])
    elif padding_type == 'Edge Padding':
        padded = cv2.copyMakeBorder(img_gray, 50, 50, 50, 50, cv2.BORDER_REPLICATE)
    # ...
    plt.imshow(padded, cmap='gray')
    plt.title(padding_type)
    plt.axis('off')
    plt.show()

λΌλ””μ˜€ λ²„νŠΌμœΌλ‘œ νŒ¨λ”© νƒ€μž…μ„ 선택할 수 μžˆλ‹€.
νƒ€μž…: Zero Padding, Edge Padding, Reflect Padding, Constant Padding
Padding μ˜ˆμ‹œ

βœ… 2. μ„ ν˜• μ—°μ‚° (밝기 배율 쑰절)

def update_brightness(factor):
    img_modified = np.clip(img_gray_crop * factor, 0, 255).astype('uint8')
    plt.imshow(img_modified, cmap='gray')
    plt.title(f'Intensity x {factor:.2f}')
    plt.axis('off')
    plt.show()

πŸ”˜ μŠ€ν¬λ‘€λ°”λ‘œ 밝기 쑰절이 κ°€λŠ₯ν•˜λ‹€ (0.1 ~ 2.0)
Brightness 쑰절 μ˜ˆμ‹œ

βœ… 3. Gaussian Blur

def apply_blur(method, ksize):
    if method == 'Gaussian Blur':
        blurred = cv2.GaussianBlur(img_gray, (ksize, ksize), 0)
    plt.imshow(blurred, cmap='gray')
    plt.title(f'{method} (kernel={ksize})')
    plt.axis('off')
    plt.show()

🎚️ 컀널 크기 μŠ¬λΌμ΄λ”λ‘œ λΈ”λŸ¬ 강도 쑰정이 κ°€λŠ₯ν•˜λ‹€

Gaussian Blur μ˜ˆμ‹œ

βœ… 4. Normalize

img_gray_copy = img_gray.astype(np.float32) / 255.0
img_normalized = (img_gray_copy - np.min(img_gray_copy)) / (np.max(img_gray_copy) - np.min(img_gray_copy))
plt.imshow(img_normalized, cmap='gray')
plt.title("Normalized Image")
plt.axis('off')
plt.show()

πŸ“Š 픽셀값을 0~1 λ²”μœ„λ‘œ μ‘°μ •ν•œλ‹€ λ”₯λŸ¬λ‹ μ „μ²˜λ¦¬μ—μ„œ ν•™μŠ΅ μ•ˆμ •ν™”λ₯Ό μœ„ν•΄ μ‚¬μš©λœλ‹€

Normalize μ˜ˆμ‹œ

πŸ”§ μ£Όμš” νŠΉμ§•

βœ… Colab ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜μ–΄ ν˜„μž₯ PC 사양에 관계없이 이미지 νŽΈμ§‘μ΄ κ°€λŠ₯

βœ… Google Drive와 μ—°λ™λ˜μ–΄ λŒ€μš©λŸ‰ 이미지 데이터도 μ‰½κ²Œ ν™œμš© κ°€λŠ₯

βœ… μ••μΆ•νŒŒμΌμ„ 직접 읽어와 μ—…λ‘œλ“œ μ‹œκ°„κ³Ό μš©λŸ‰ μ œν•œ 문제λ₯Ό μ΅œμ†Œν™”


πŸ“Œ μ½”λ“œ 링크

πŸ”— Colab Full μ½”λ“œ

ν•΄λ‹Ή λ…ΈνŠΈλΆμ—μ„œλŠ” λ‹€μ–‘ν•œ μ „μ²˜λ¦¬ 기법을 직접 μ μš©ν•΄ 보고,
μŠ¬λΌμ΄λ”λ‚˜ λ²„νŠΌ μœ„μ ―μ„ 톡해 νŒŒλΌλ―Έν„°λ₯Ό μ‘°μ ˆν•˜λ©° μ‹œκ°μ μœΌλ‘œ κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

left
right

C

Contents