laplacian.py

라즈베리파이 2025. 9. 20. 15:57
반응형
import cv2
import numpy as np
import matplotlib.pyplot as plt
import os

# 현재 스크립트 파일의 디렉토리 기준으로 이미지 경로 설정
script_dir = os.path.dirname(os.path.abspath(__file__))
image_path = os.path.join(script_dir, 'image.jpg')

# 이미지 불러오기 (컬러)
image_color = cv2.imread(image_path, cv2.IMREAD_COLOR)
image_gray = cv2.cvtColor(image_color, cv2.COLOR_BGR2GRAY)  # 그레이스케일 변환

if image_color is None:
    print("Failed to load image.")
    exit()

# Laplacian 필터 적용
laplacian = cv2.Laplacian(image_gray, cv2.CV_64F, ksize=3)

# 절대값을 취해 에지 강조
laplacian_abs = np.abs(laplacian)

# 값 정규화 (0~255 범위로 변환)
laplacian_enhanced = cv2.normalize(laplacian_abs, None, 0, 255, cv2.NORM_MINMAX).astype(np.uint8)

# 결과 시각화
plt.figure(figsize=(15, 8))

# 원본 컬러 이미지
plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(image_color, cv2.COLOR_BGR2RGB))
plt.title('Original Image (Color)')
plt.axis('off')

# 정규화된 Laplacian 필터 결과 (Enhanced)
plt.subplot(1, 2, 2)
plt.imshow(laplacian_enhanced, cmap='gray')
plt.title('Laplacian Filter (Enhanced Visibility)')
plt.axis('off')

plt.tight_layout()
plt.show()

반응형

'라즈베리파이' 카테고리의 다른 글

harris.py  (0) 2025.09.20
mediapip.py  (0) 2025.09.19
point_mediapipe.py  (0) 2025.09.19
sobel.py  (0) 2025.09.19
라즈베리파이 5에서 tensorflow가 설치된 opencv 개발환경 설정  (0) 2025.09.19
Posted by 세상을 살아가는 사람
,