본문 바로가기

IT 프로그래밍 관련/OpenCV10

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.
728x90