본문 바로가기

전체 글119

OpenCV 이미지 Transformations ( rotation, translation ) 이미지의 기하학적 변형은 (Transformations) 사이즈 변경(Scaling), 위치변경(Translation), 회전(Rotaion) 등이 있다. 변환에 종류에는 강체변환(Ridid-Body) : 크기 및 각도가 보존 유사변환(Similarity) : 크기는 변하고 각도는 보존 선형변환(Linear) : Vector 공간에서의 이동. 이동변환은 제외. Affine : 선형변환과 이동변환까지 포함. 선의 수평성은 유지 Perspective : Affine변환에 수평성도 유지되지 않음. 원근변환 등이 있다. 크기가 보존되는 변환인 Rotation은 물체를 평면상의 한 점을 중심으로 𝜃 만큼 회전하는 변환이다. 회전은 시계 반대 방향으로 하며, 변환을 시킬 변환행렬이 필요하다. 변환행렬은 Rotati.. 2021. 4. 22.
OpenCV threshold, 이미지형태 변환(dilate,erode, opening, closing) threshold 함수는 이미지를 이진화할 때 사용한다. 이미지의 이진화란, 이미지를 흑과백으로 나누는것을 뜻하고, 흑과백으로 나눌때 우리가 원하는 기준치(임계값)을 설정해서, 임계값보다 크면 백으로, 임계값보다 작으면 , 흑으로 바꾸고 그 결과값을 보여주는 것이 threshold 함수이다. ( 이미지를 불러올때 Gray Scale 로 불러와야 한다 ) threshold 코드 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import cv2 src = cv2.imread('data/images/threshold.png', 0 ) #구분하기 위한 값 설정 ( 임계값 ) threshold = 0 # 0 은 검정색 maxValue = 255 cv2.imshow('o.. 2021. 4. 22.
OpenCV 비디오파일 열기, 내 캠으로 비디오파일 저장 OpenCV로 비디오 파일 여는 코드 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import cv2 import numpy as np # FPS : Frame per Second : 1초당 몇장의 사진으로 구성되어있나. # 비디오 파일에서 읽어오기. cap = cv2.VideoCapture('data/videos/chaplin.mp4') # 비디오파일의 경로 if cap.isOpened() == False : # isOpened() 함수는 True, False로 값이 나옴 print('Error opening video stream of file') els.. 2021. 4. 21.
OpenCV Image에 선 그리기 (ImageDraw) 이미지에 여러가지 선과 글씨를 넣는 방법이다. 기본적으로 색을 표현할때 타 라이브러리는 다 RGB 의 형식으로 되어있는데 반해, OpenCV 는 특이하게 BGR 의 형식으로 되어있어 , 색을 표현할때 형식에 맞춰야하니 주의한다. 1. 직선그리기 1 2 3 4 5 6 7 8 9 10 11 import cv2 import numpy as np image = cv2.imread('data/images/mark.jpg') cv2.imshow('img', image) imageLine = image.copy() # 선그리기 cv2.line(imageLine, (322,179), (400,183), (0,255,0), thickness=2, lineType=cv2.LINE_AA) cv2.imshow('image l.. 2021. 4. 20.
OpenCV Image resize , Crop 1. 이미지를 확대 또는 축소시키는 resize 코드 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import cv2 source = cv2.imread('data/images/sample.jpg',1) print(source.shape) # 이미지 확대 축소 # 1은 100% , 0.6은 60% , 1.8은 180% 확대 / 축소 가능 scaleX = 0.6 scaleY = 0.6 scaleDown = cv2.resize(source,None, fx=scaleX, fy=scaleY, interpolation=cv2.INTER_LINEAR) print(scaleDown.shape) ## 확대 scaleX = 1.8 sca.. 2021. 4. 20.
OpenCV 이미지 열기, 화면 표시 방법, 이미지 저장 기본적으로, 이미지 처리 라이브러리니까 , 이미지를 기본으로 한다. 먼저 이미지를 여는 코드이다. 1 2 3 4 5 6 7 import cv2 image = cv2.imread('data/images/sample.jpg', cv2.IMREAD_COLOR) #이미지경로 #이미지옵션 cv2.imshow('image', image ) #화면창이름 , #불러올 이미지 cs cv2.imread 를 사용하여 이미지경로 , 이미지형식을 맞춰 변수에 저장하여, cv2.imshow 명령어로 이미지를 화면에 표시한다. # 이미지 옵션 이미지 옵션은 임의로 세가지로 정할 수 있다. - cv2.IMREAD_COLOR : 이미지를 컬러로 불러옴 , default값 , 투명부분 무시 - cv2.IMREAD_GRAYSCALE : .. 2021. 4. 20.
728x90