본문 바로가기
728x90
반응형
SMALL

AI-driven Methodology/CV (Computer Vision)17

[Computer Vision] paperswithcode paperswithcode 여러 이미지 데이터셋 학습 모델의 벤치마킹을 볼 수 있다. https://paperswithcode.com/task/image-classification Papers with Code - Image Classification **Image Classification** is a fundamental task that attempts to comprehend an entire image as a whole. The goal is to classify the image by assigning it to a specific label. Typically, Image Classification refers to images in which only one object appears p.. 2022. 8. 7.
[Computer Vision] 임계 처리 임계 처리 임계처리 (thresholding)는 이미지 행렬에서 하나의 픽셀값을 사용자가 지정한 기준값 (threshold)를 사용하여 이진화 (binarization)하는 가장 단순한 필터다. OpenCV에서는 threshold라는 함수로 구현되어 있다. 인수는 다음과 같다. threshold(src, thresh, maxval, type) src : 그레이 스케일 이미지 thresh : 기준값 maxval : 기준값을 넘었을 때 적용할 최대값 type : 임계처리 유형 THRESH_BINARY : 기준값을 넘으면 최대값 아니면 0 THRESH_BINARY_INV : 기준값을 넘으면 0 아니면 최대값 THRESH_TRUNC : 기준값을 넘으면 기준값 아니면 최대값 THRESH_TOZERO : 기준값을 .. 2022. 6. 13.
[Computer Vision] 이미지 변환 동차 좌표 동차 좌표 (Homogenous Coordinate)는 2차원상의 점의 위치를 2차원 벡터가 아닌 3차원 벡터로 표현하는 방법이다. - 강체 변환 (rigid transform) : 유클리드 변환(Euclidean transformation)이라고도 불리며, 회전(θ), 이동(t), 두가지 요소만 사용하여 이미지를 변환 - 유사 변환 (similarity transform) : 확대/축소(s), 회전(θ), 이동(t), 세가지 요소를 사용하여 이미지를 변환 getRotationMatrix2D(center, angle, scale) center : 이미지의 중심 좌표 angle : 회전 시키는 각도 θ (시계 반대방향) scale : 변환하려는 크기 비율 s 주의할 점은 이론적으로는 사영 행렬이.. 2022. 6. 13.
[Computer Vision] 컨투어 추정 컨투어 추정 컨투어 추정은 Douglas-Peucker 알고리즘을 이용해 컨투어 포인트의 수를 줄여 실제 컨투어 라인과 근사한 라인을 그릴 때 사용된다. OpenCV에서는 approxPolyDP 라는 함수로 구현되어 있다. 입력값으로는 컨투어 포인트 배열, 실제 컨투어 라인과 근사치의 최대거리, 폐곡선 여부가 있다. 다음 코드는 실제 컨투어 라인과 근사치의 최대거리를 0.01, 0.05 로 설정하여 실제 컨투어 라인과 비교 한다. img1 = img_raw.copy().astype('uint8') img2 = img_raw.copy().astype('uint8') img3 = img_raw.copy().astype('uint8') c0 = contours[0] epsilon1 = 0.01*cv2.arcL.. 2022. 6. 13.
[Computer Vision] 이미지 컨투어 이미지 컨투어 컨투어 (contour)란 동일한 색 또는 동일한 픽셀값 (강도,intensity)을 가지고 있는 영역의 경계선 정보다. 물체의 윤곽선, 외형을 파악하는데 사용된다. OpenCV의 findContours 함수로 이미지의 컨투어 정보, 컨투어의 상하구조 (hierachy) 정보를 출력한다. 흑백 이미지 또는 이진화된 이미지만 적용할 수 있다. images, contours, hierachy = cv2.findContours(image, mode, method) image: 흑백이미지 또는 이진화된 이미지 mode : 컨투어를 찾는 방법 cv2.RETR_EXTERNAL: 컨투어 라인 중 가장 바깥쪽의 라인만 찾음 cv2.RETR_LIST: 모든 컨투어 라인을 찾지만, 상하구조 (hierachy.. 2022. 6. 13.
[Computer Vision] Scikit-Image Scikit-Image scikit-image 패키지도 이미지 처리에 많이 사용된다. import skimage skimage.__version__ 샘플 이미지 Scikit-Image는 data라는 모듈을 통해 샘플 이미지 데이터를 제공한다. 이미지는 NumPy 배열 자료형으로 사용한다. import skimage.data img_astro = skimage.data.astronaut() img_astro.shape (512, 512, 3) 이미지 읽고 쓰기 Scikit-Image 패키지로 이미지를 읽고 쓸 때는 io 서브패키지의 imsave, imread 명령을 사용한다. 파일 확장자를 지정하면 해당 이미지 형식으로 자동 변환한다. skimage.io.imsave("astronaut.png", img_.. 2022. 6. 13.
[Computer Vision] Pillow를 이용한 이미지 처리 Pillow를 이용한 이미지 처리 Python 이미지 처리 패키지 중에 Pillow가 있다. Pillow는 이전에 사용되던 PIL (Python Imaging Library) 패키지를 대체하기 위한 것이다. JPEG, BPM, GIF, PNG, PPM, TIFF 등의 다양한 포맷을 지원하고 초보자가 다루기 쉽다는 장점이 있다. PIL 패키지의 대체이므로 임포트 이름이 PIL 패키지와 같다. import PIL PIL.__version__ 이미지 읽고 쓰기 # 실습을 위한 이미지 파일 !wget -O logo.png https://www.python.org/static/community_logos/python-logo-master-v3-TM.png --2019-07-14 13:26:37-- https://.. 2022. 6. 13.
[Computer Vision] 이미지 파일 형식 이미지 파일 형식 .bmp 확장자를 가지는 비트맵 (bitmap) 파일은 지금까지 설명한 다차원 배열정보를 그대로 담고있다. 하지만 비트맵 파일은 파일 용량이 크기 때문에 압축을 통해 용량을 줄인 JPG, GIF, PNG 등의 압축 파일 형식도 많이 사용한다. 확장자 장점 단점 JPEG JPEG는 Joint Picture Experts Group의 약자로 이미지 압축 기술자 모임인 JPEG 위원회에서 개발한 이미지 파일 형식. JPEG 파일은 웹상 및 멀티미디어 환경에서 가장 널리 사용되고 있는 포맷. JPG라는 확장자도 같이 사용 RGB모드와 CMYK모드를 둘 다 지원한다. RGB 이미지의 모든 컬러 정보를 유지한다. 이미지를 만드는 사람이 이미지의 질과 파일의 크기를 손실압축방식을 통해 조정할 수 있.. 2022. 6. 13.
[Computer Vision] 색 공간 (Color Space) 색 공간 (Color Space) 픽셀의 색을 숫자로 표현하는 방식을 색공간 (color space)라고 한다. 대표적인 색공간으로는 그레이 스케일(gray scale), RGB (Red-Green-Blue), HSV (Hue-Saturation-Value) 방식이 있다. 그레이 스케일 그레이 스케일에서는 모든 색이 흑백이다. 각 픽셀은 명도를 나타내는 숫자로 표현된다. 0은 검은색을 나타내고 숫자가 커질수록 명도가 증가하여 하얀색이 된다. 숫자는 보통 0~255의 8비트 부호없는 정수로 저장된다. SciPy 패키지의 misc 서브 패지의 face 명령은 이미지 처리용 샘플 이미지를 제공한다. 인수로 gray=True를 입력하면 그레이스케일 이미지를 반환한다. 이미지의 크기는 배열의 shape 속성으로 .. 2022. 6. 12.
[Computer Vision] 이미지 처리 픽셀 (pixel) 이미지 데이터는 픽셀 (pixel)이라고 하는 작은 이미지를 직사각형 형태로 모은 것이다. 각 픽셀은 단색의 직사각형이다. 전체 이미지의 크기를 표현할 때는 (가로 x 세로) 형식으로 표현한다. 이미지 데이터를 저장할 때는 픽셀의 색을 표현하는 스칼라 값이나 벡터를 2차원 배열로 표현한다. 파이썬에서 numpy의 ndarray 클래스 배열로 표현한다. 이미지 크기 변환 resize() 명령으로 이미지 크기 변환이 가능하다. import matplotlib.pylab as plt import cv2 img_astro3 = cv2.imread("/xx.png") # 각 채널을 분리 b, g, r = cv2.split(img_astro3) # b, r을 서로 바꿔서 Merge img_ast.. 2021. 12. 30.
728x90
반응형
LIST