728x90 반응형 SMALL Computer Vision15 [Generative Model] 서로 다른 이미지 오토인코더 라이브러리 from matplotlib.pyplot import imshow import numpy as np import cv2 from tensorflow.keras.utils import img_to_array from tensorflow.keras.layers import Conv2D, MaxPooling2D, UpSampling2D from tensorflow.keras.models import Sequential SIZE=256 # Limiting to 256 size image as my laptop cannot handle larger images. img_data = [] img = cv2.imread('einstein.jpg', 1) # Change 1 to 0 for Grey scal.. 2022. 11. 25. [시각 지능] 컴퓨터 비전 (Computer Vision) 컴퓨터 비전 (Computer Vision) 컴퓨터 비전이라는 말에 이미 시각 (vision)이라는 단어가 포함되어 있어서 유추할 수 있듯이, 사람의 시각과 관련한 시스템 구조를 모방하여 컴퓨터도 물체나 상황을 식별하고 해석할 수 있도록 하는 연구 분야이다. 컴퓨터 비전에서 다루는 데이터에는 이미지와 이미지 속 텍스트를 인지하는 영역뿐만 아니라 비디오와 3D 영상도 포함된다. 여기서 Numpy로 변환된 이미지의 shape는 (width, height, channel)로 구성된다. 그리고 비디오 영상은 엄밀히 말하면 이미지 (프레임)들의 합이다. 스마트폰의 시대가 오면서 이미지뿐만 아니라 영상 데이터가 폭발적으로 증가하였고 이는 컴퓨터 비전의 필요성을 증대시켰다. Research and Market이 발표.. 2022. 7. 30. [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] 이미지 처리 픽셀 (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. 이전 1 2 다음 728x90 반응형 LIST