반응형
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 |



