본문 바로가기

728x90
반응형

AI/Computer Vision

(22)
[Computer Vision] Depth 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 깊이 정보는 이미지에서 각 픽셀이 카메라와 얼마나 떨어져 있는지를 나타낸다. 이 정보는 3D 재구성, 물체 인식, 자율주행차, 로봇 비전 등에서 필수적이다. 깊이 추정 방법은 다음과 같다.스테레오 비전(Stereo Vision) : 두 개의 카메라를 서로 다른 각도에서 이미지를 촬영하고, 두 이미지 간의 차이를 분석하여 깊이를 계산.깊이 센서(Depth Sensors) : LiDAR, ToF(Time-of-Flight) 카메라와 같은 센서를 사용하여 물체까지의 거리를 직접 측정한다.모노큘러 깊이 추정(Monocular Depth Estimation) : 단일 카메라 이미지를 사용하여 깊이를 추정하는 방법, 딥러닝 모..
[Computer Vision] Trapped-ball Segmentation 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. Trapped-ball Segmentation은 주로 만화 프레임과 같은 이미지에서 의미 있는 영역을 추출하는데 효과적인 비지도 이미지 분할 기법이다. 이 방법은 이미지의 경계선에 의해 정의된 닫힌 지역을 식별하고 이를 통해 이미지 내에서 분할을 수행한다. 이 알고리즘은 형태학적 연산을 사용하여 큰 폐쇄된 지역을 식별하고, 각 지역에 대해 고유한 값을 채우는 방식으로 작동한다. 동작 순서흑백 또는 색상이 없는 스케치 이미지를 타깃으로 준비한다.형태학적 연산(Morphological Operations)을 수행(침식(Erosion), 팽창(Dilation)하여 각 영역의 경계를 잘 드러내도록 한다.비교적 넓은 영역을 ..
[Computer Vision] IoU(Intersection over Union) IoU(Intersection over Union)는 주로 객체 탐지 및 세그멘테이션 평가에 사용되는 지표이다. 예측한 영역과 실제 영역 간의 겹치는 부분의 비율을 나타낸다.x : 영역 중심의 x좌표y : 영역 중심의 y좌표w : 영역의 폭h : 영역의 높이 Area of Intersection : 예측된 영역과 실제 영역의 겹치는 부분의 면적이다.Area of Union : 예측된 영역과 실제 영역의 합집합 면적이다. IoU 값은 0 ~ 1 사이의 값을 가지며, 1에 가까울 수록 예측이 정확하다는 것을 의미한다. 일반적으로 IoU가 0.5 이상이면 긍정적인 예측으로 간주 된다.import cv2import numpy as npdef IoU(image:np.ndarray,mask:np.ndarray)->..
[Computer Vision] PIL(Python Image Library) 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다.  Python Image Library, 줄여서 PIL은 파이썬에서 이미지를 처리하기 위해 사용되는 강력한 라이브러리이다.이미지 파일을 열고, 수정하고, 저장하는 기능을 제공하여 다양한 이미지 작업을 쉽게 수행할 수 있게 해준다.PIL은 이미지 필터링, 변환, 색상 조정, 이미지 포맷 변환 등 여러 가지 기능을 지원한다.pip install pillow 기본적인 이미지를 열고 보고 저장하는 법from PIL import Imageimage = Image.open("test.jpg")image.show()image.save("save_test.jpg")  이미지 조절하기from PIL import Imageimage ..
[Computer Vision] 지역 특징점 검출과 매칭 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 해리스 코너 검출(Harris Corner Detection)해리스 코너 검출은 이미지에서 코너를 검출하는 기법으로, 주로 특징점 검출에 사용된다.import cv2import numpy as npimage = cv2.imread("window.jpg")gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = np.float32(gray)# 해리스 코너 검출dst = cv2.cornerHarris(gray, blockSize=2, ksize=3, k=0.04)# 결과 이미지를 복사하여 코너 표시image[dst > 0.01 * dst.max()] = [0, 0, 255] # 코..

728x90
반응형