Computer Vision/opencv(python) 70

[30] 4) 영상의 회전

회전 변환 (rotation transformation) 영상을 특정 각도만큼 회전시키는 변환 (반시계 방향) 영상의 회전 예제 import sys import math import numpy as np import cv2 src = cv2.imread('tekapo.bmp') if src is None: print('Image load failed!') sys.exit() rad=20*math.pi/180 aff=np.array([[math.cos(rad),math.sin(rad),0],[-math.sin(rad),math.cos(rad),0]],dtype=np.float32) dst=cv2.warpAffine(src,aff,(0,0)) cv2.imshow('dst',dst) cv2.waitKey() ..

[29] 3) 이미지 피라미드

이미지 피라미드란? 하나의 영상에 대해 다양한 해상도의 영상 세트를 구성한 것 보통 가우시안 블러링 & 다운샘플링 형태로 축소하여 구성 영상 피라미드 다운샘플링 cv2.pyrDown(src,dst=None,dstsize=None,borderType=None) -> dst • src: 입력 영상 • dst: 출력 영상 • dstsize : 출력 영상 크기 . 따로 지정하지 않으면 입력 영상의 가로 , 세로 크기의 1/2 로 설정 • borderType: 가장자리 픽셀 확장 방식 • 참고 사항 ★ 먼저 5x5 크기의 가우시안 필터를 적용 ★이후 짝수 행과 열을 제거하여 작은 크기의 영상을 생성 영상 피라미드 업샘플링 cv2.pyrUp(src,dst=None,dstsize=None,borderType=None..

[28] 2) 영상의 확대와 축소

크기 변환 (Scale transformation) 영상의 크기를 원본 영상보다 크게 또는 작게 만드는 변환 x축과 y축 방향으로의 스케일 비율(scale factor)을 지정 영상의 크기 변환 cv2.resize(src,dsize,dst=None,fx=None,fy=None,interpolation=None) -> dst • src: 입력 영상 • dsize : 결과 영상 크기 . (w, h) 튜플 . (0,0) 이면 fx 와 fy 값을 이용하여 결정 • dst: 출력 영상 • fx , fy : x 와 y 방향 스케일 비율 (scale factor). dsize 값이 0 일 때 유효 • interpolation: 보간법 지정 . 기본값은 cv2.INTER_LINEAR 영상의 크기 변환 예제 import..

[27] 5.기하학적 변환 1)영상의 이동 변환과 전단 변환

영상의 기하학적 변환(geometric transformation) 이란? 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 전체 영상의 모양을 바꾸는 작업 image registration, removal of geometric distortion 이동 변환 (Translation transformation) 가로 또는 세로 방향으로 영상을 특정 크기만큼 이동시키는 변환 x축과 y축 방향으로의 이동 변위를 지정 영상의 어파인 변환 함수 cv2.warpAffine(src,M,dsize,dst=None,flags=None,borderMode=None,borderValue=None) -> dst • src: 입력 영상 • M: 2x3 어파인 변환 행렬 . 실수형 • dsize : 결과 영상 크기 . (w, h..

[26] 6) 잡음제거 - 양방향 필터

가우시안 잡음 제거에는 가우시안 필터가 효과적 양방향 필터 (Bilateral filter) 에지 보전 잡음 제거 필터 (edge-preserving noise removal filter) 의 하나 평균 값 필터 또는 가우시안 필터는 에지 부근에서도 픽셀 값을 평탄하게 만드는 단점이 있음 기준 픽셀과 아웃 픽셀과의 거리, 그리고 픽셀 값의 차이를 함께 고려하여 블러링 정도를 조절 양방향 필터링 함수 cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace,dst=None,borderType=None) -> dst • src : 입력 영상 . 8 비트 또는 실수형 , 1 채널 또는 3 채널 • d: 필터링에 사용될 이웃 픽셀의 거리 (지름). 음수 (-1) 를 입력하면 sigm..

[25] 5) 잡음제거 - 미디언 필터

영상의 잡음(Noise) 영상의 픽셀 값에 추가되는 원치 않는 형태의 신호 잡음의 종류 가우시안 잡음(Gaussian noise) 소금 & 후추 (Salt & pepper) 잡음제거 - 미디언 필터(Median filter) 주변 픽셀들의 값들을 정렬하여 그 중앙값(median)으로 픽셀 값을 대체 소금 - 후추 잡음 제거에 효과적 미디언 필터링 함수 cv2.medianBlur(src,ksize,dst=None) -> dst • src : 입력 영상 . 각 채널 별로 처리됨 • ksize : 커널 크기 . 1 보다 큰 홀수를 지정 . • dst : 출력 영상 . src 와 같은 크기 , 같은 타입 미디언 필터링 예제 import sys import numpy as np import cv2 src = cv..

[24] 4)샤프닝: 언샤프 마스크 필터

언샤프 마스크(Unsharp mask) 필터링 날카롭지 않은(unshape) 영상, 즉, 부드러워진 영상을 이용하여 날카로운 영상을 생성 언샤프 마스크 필터 구현하기 import sys import numpy as np import cv2 src = cv2.imread('rose.bmp', cv2.IMREAD_GRAYSCALE) if src is None: print('Image load failed!') sys.exit() blr=cv2.GaussianBlur(src,(0,0),3) dst=np.clip(2.*src-blr,0,255).astype(np.uint8) # dst=cv2.addWeighted(src,2,blr,-1,0) cv2.imshow('src',src) cv2.imshow('dst',..

[23] 3)블러링 - 가우시안 필터

평균값 필터에 의한 블러링의 단점 필터링 대상 위치에서 가까이 있는 픽셀과 멀리 있는 픽셀이 모두 같은 가중치를 사용하여 평균을 계산 멀리 있는 픽셀의 영향을 많이 받을 수 있음 (1차원) 가우시안 함수 (Gaussian function) 가우시안 함수의 특징 가우시안 필터링 함수 cv2.GaussianBlur(src,ksize,sigmaX,dst=None,sigmaY=None,borderType=None) -> dst • src : 입력 영상 . 각 채널 별로 처리됨 • dst : 출력 영상 . src 와 같은 크기 , 같은 타입 • ksize : 가우시안 커널 크기 . (0,0) 을 지정하면 sigma 값에 의해 자동 결정됨 • sigmaX : x 방향 sigma. • sigmaY : y 방향 sig..

[22] 2)블러링-평균값 필터

평균 값 필터 (Mean filter) 영상의 특정 좌표 값을 주변 픽셀 값들의 산술 평균으로 설정 픽셀들 간의 그레이스케일 값 변화가 줄어들어 날카로운 에지가 무뎌지고, 영상에 있는 잡음의 영향이 사라지는 효과 실제 영상에 평균 값 필터를 적용한 결과 filter2D() 함수를 이용한 평균값 필터링 예제 import sys import numpy as np import cv2 src=cv2.imread('rose.bmp',cv2.IMREAD_GRAYSCALE) if src is None: print('Image load failed!') sys.exit() # kernel=np.array([[1/9,1/9,1/9,],[1/9,1/9,1/9,],[1/9,1/9,1/9,]],dtype=np.float32)..

[21] 4.필터링 1)필터링 이해하기

영상의 필터링 (image filtering) 영상에서 필요한 정보만 통과시키고 원치 않는 정보는 걸러내는 작업 주파수 공간에서의 필터링 (Frequency domain filtering) 공간적인 필터링 (Spatial domain filtering) 영상의 픽셀 값을 직접 이용하는 필터링 방법 대상 좌표의 픽셀 값과 주변 픽셀 값을 동시에 사용 주로 마스크(mask) 연산을 이용함 (mask=커널(kernel)=window=template) 다양한 모양과 크기의 마스크 마스크의 형태와 값에 따라 필터의 역할이 결정됨 영상 부드럽게 만들기 영상 날카롭게 만들기 에지(edge) 검출 잡음 제거 3x3 크기의 마스크를 이용한 공간적 필터링 마스크에 대흥하는 입력영상을 각 픽셀마다 곱한뒤 모두 더한값을 출력..