Python study/opencv
-
크기 조절 (Resize)Python study/opencv 2023. 12. 11. 16:09
크기 조절 (Resize) 영상이나 이미지를 확대하거나 축소하는 연산에서 확인 할 수 있듯이 이미지의 크기를 변형 하는 것은 단순한 연산이 아니다. 이미지를 확대하는 경우에도 픽셀에 대한 보간법, 이미지를 축소하는 경우에도 픽셀에 대한 병합법이 수행된다. 이미지 피라미드는 2배로 확대하거나 축소하는 경우만 가능 하므로, 원하는 크기로 변환하기 위해서 이미지 크기 조절함수를 사용한다. 철대 크기로 변경하는 방법과 비율에 맞게 상대크기로 변형하는 방법이 있다. 메인 코드 import cv2 src = cv2.imread("F:\dev\opencv\image\S1000rr.jpg", cv2.IMREAD_COLOR) dst = cv2.resize(src, dsize=(640, 480), interpolation..
-
회전(Rotate)Python study/opencv 2023. 11. 30. 20:12
메인 코드 import cv2 src = cv2.imread(r"F:\dev\opencv\image\ferret.jpg", cv2.IMREAD_COLOR) height, width, channel = src.shape matrix = cv2.getRotationMatrix2D((width/2, height/2), 90, 1) dst = cv2.warpAffine(src, matrix, (width, height)) cv2.imshow("src", src) cv2.imshow("dst", dst) cv2.waitKey() cv2.destroyAllWindows() 핵심코드 height, width, channel = src.shape matrix = cv2.getRotationMatrix2D((width/..
-
대칭(Flip, Symmetry)Python study/opencv 2023. 11. 30. 03:44
대칭 (Flip, Symmetry) 대칭은 기하학적인 측면에서 반사(Reflaction) 의미를 갖는다. 2차원 유클리드 공간(평면)에서의 기하학적인 변환의 하나로 평면 위의 선형 변환을 진행한다. 대칭은 변환할 행렬(이미지)에 대해 2x2 행렬을 왼쪽 곱셈을 진행함으로써, X축 또는 Y축 의 대칭 및 재 매핑이 적용된 행렬을 얻을 수 있다. 메인 코드 import cv2 src = cv2.imread("F:\dev\opencv\image\cat.jpg") dst = cv2.flip(src, 0) cv2.imshow("src", src) cv2.imshow("dst", dst) cv2.waitKey() cv2.destroyAllWindows() 핵심 코드 dst = cv2.flip(src, 0) 대칭 함..
-
비디오 출력Python study/opencv 2023. 11. 29. 19:15
비디오 출력 비디오 출력 클래스 (cv2.VideoCapture)를 통해 동영상 파일에서 정보를 받아 온 후 순차적으로 프레임을 읽어 출력합니다. OpenCV는 FFMpeg를 지원하므로 .avi , .mp4 다양한 형식의 동영상 파일을 손쉽게 읽을 수 있습니다. GIF 파일도 프레임이 존재하므로 동영상 파일을 읽는 방법과 동일하게 처리합니다. 메인코드 import cv2 capture = cv2.VideoCapture("F:\dev\opencv\image\oppen.mp4") print(f"isOpened : {capture.isOpened()}") while cv2.waitKey(33) < 0: if (capture.get(cv2.CAP_PROP_POS_FRAMES) == capture.get(cv2...
-
opencv - 이미지 다루기Python study/opencv 2023. 11. 29. 01:22
목표 이미지 파일을 읽고, 보고, 저장하는 방법 관련함수 cv2.imread(), cv2.imshow(), cv2.imwrite() 1.이미지 읽기 cv2.imread() 함수를 이용하여 이미지를 읽을 수 있다. cv2.imread() 함수 설명 - Parameter : FileName(str) - 이미지 파일의 경로 (상대/절대) flag(int) - 이미지 파일을 읽을 때의 option(flag) - Returns : image 객체 정렬 - Return type : numpy.ndarray 이미지 읽기의 flag (cv2.imread() 함수의 flag) 는 13가지가 있다. cv2.IMREAD_UNCHANGED : 원본 사용 cv2.IMREAD_GRAYSCALE : 1 채널, 그레이스케일 적용 c..
-
Opencv- 영상다루기Python study/opencv 2022. 3. 24. 15:37
목표 동영상을 읽고, 보여주고, 저장하기 cv2.VideoCapture(), cv2.VideoWriter() 함수에 대해서 알아보기 Camera로 부터 영상 재생 Camera로 부터 영상을 읽어 화면에 보여주기 다음과 같은 프로세스의 순서를 가진다. 1. VideoCapture Object생성, 변수로는 Camera Device Index 나 동영상 파일명을 넘겨준다. 일반적으로 0이면 연결. 2. Loop 돌면서 Frame을 읽는다. 3. 읽은 Frame에 대해서 변환작업을 수행한 후, 화면에 보여준다. 4. 영상 재생이 끝나면, VideoCapture Object를 release, window 닫기 Sample code : https://github.com/CBike/opencv/blob/master..
-
opencv_도형 그리기Python study/opencv 2022. 3. 15. 16:24
목표 다양한 모향의 도형을 그릴 수 있다. cv2.line(), cv2.crircle(), cv2.rectangle, cv2.putText() 도형 그리기는 동영상이나 이미지에서 Match 가 되는 영역을 찾은 후에 사용자가 인식하기 쉽게 표시하는 목적으로 사용됩니다. 1.Line 그리기 cv2.line() 은Start와 End 점을 연결하여 직선을 그립니다. cv2.line() 함수 설명 cv2.line(img, start, end, color, thickness) - Parameters img - 그림을 그릴 이미지 파일 start - 시작 좌표 end - 종료 좌표 color - BGR 형태의 color thickness(int) - 선의 두깨.pixel Sample Code : https://gi..