파이썬을 이용한 Canny-edge, Image Pyramid, Histogram Equalization, Image Stitching, Calibration, Panda3D
stage1. RGB 채널의 이미지를 GRAYSCALE로 변환 후 노이즈 감소를 위한 스무딩 필터 적용
stage2. sobel 커널을 수평,수직 방향으로 적용 후 Edge_Gradient와 Angle계산 low_threshold value보다 낮은 값을 가지는 픽셀을 제거하여 Edge candidates를 구함
stage3. 픽셀의 방향과 연결된 엣지 픽셀들을 비교하여 Gradient 값이 최대인 픽셀만 남겨 Edge Thinning 수행
stage4. 픽셀의 Gradient값이 high_threshold value보다 크면 확실한 엣지로 결정 (빨간색), low ~ high_threshold value 사이 값이라면 확실한 엣지와 연결되어 있을 경우 엣지로 선정 (파란색), 확실한한 엣지와 연결되어 있지 않아 선정되지 못한 픽셀 (노란색)
result. 노란색을 제외한 최종 엣지 검출 결과
-
눈, 손 이미지를 이용해 각각 가우시안 피라미드, 라플라시안 피라미드를 구함
-
가우시안, 라플라시안 피라미드를 이용하여 손바닥 안에 눈 합성
-
이미지에 라플라시안 피라미드를 더하는것을 반복하여 이미지가 선명해도록함
Original. HSV 채널의 이미지의 V값으로 cdf(누적분포함수)를 구함
cv.HE. V값에 관해서 Histogram Equalization을 진행하여 HE가 적용된 이미지 생성. => 이미지의 대비 상승
AHE. V값을 기준으로 Adaptive Histogram Equalization을 진행. => HE 과도/소 밝기 문제점 해결
CLAHE. 과도하게 기울어진 cdf를 제한하기 위해 clipLimit을 설정하여 Contrast Limited AHE 진행. => 노이즈 감소 확인
-
SIFT 알고리즘을 통해 이미지의 keypoint, description 계산
-
기반 이미지를 선택하고 나머지 이미지들과의 description으로 KNN-Matching 진행하여 good correpondences 계산
-
good correpondences이 가장 높은 이미지와 stitching
-
반복
아루코 마커 위에 객체를 그리는 AR
- 노트북 웹캠을 사용하여 Camera calibration 진행
- ArUco Marker 인식하고 축 표시
- 객체를 marker에 배치 후 marker의 좌표계를 조정하여 축 표시
- 3개의 marker 생성 후 각각 다른 객체를 배치, 축 표시
- 애니메이션 및 Rendering effets(point light, ambient light)추가