인기 글
-
크기 조절 (Resize)
크기 조절 (Resize) 영상이나 이미지를 확대하거나 축소하는 연산에서 확인 할 수 있듯이 이미지의 크기를 변형 하는 것은 단순한 연산이 아니다. 이미지를 확대하는 경우에도 픽셀에 대한 보간법, 이미지를 축소하는 경우에도 픽셀에 대한 병합법이 수행된다. 이미지 피라미드는 2배로 확대하거나 축소하는 경우만 가능 하므로, 원하는 크기로 변환하기 위해서 이미지 크기 조절함수를 사용한다. 철대 크기로 변경하는 방법과 비율에 맞게 상대크기로 변형하는 방법이 있다. 메인 코드 import cv2 src = cv2.imread("F:\dev\opencv\image\S1000rr.jpg", cv2.IMREAD_COLOR) dst = cv2.resize(src, dsize=(640, 480), interpolation..
-
확대 & 축소 : 이미지 피라미드(Image Pyramid)
이미지 피라미드 (Image Pyramid) 알고리즘에서 요구하는 해상도가 있다면, 입력 이미지의 크기를 변경하여 영상 처리를 진행 하기 위해 이미지 피라미드 를 활용 한다. 이미지 피라미드의 의미는 이미지의 크기를 확대 하거나 축소했을 때 이미지들의 형태가 피라미드와 같이 표현 된다. 원본 이미지에서 크기를 확대하는 것을 업 샘플링 이라 하며 하위 단계의 이미지를 생성하게 된다. 원본 이미지에서 크기를 축소하는 것을 다운 샘플링 이라 하며 상위 단계의 이미지를 생성하게 된다 이미지 피라미드로는 가우시안 피라미드와 라플라시안 피라미드가 있다. 가우시안 피라미드 가우시안 피라미드는 이미지를 스무딩(평활화)과 다운샘플링(해상도를 줄이는 것)을 통해 다양한 해상도로 나타냅니다. 가우시안 피라미드를 만들기 위해..
-
회전(Rotate)
메인 코드 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)
대칭 (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) 대칭 함..
-
비디오 출력
비디오 출력 비디오 출력 클래스 (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...
최신 글
-
크기 조절 (Resize)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..
-
확대 & 축소 : 이미지 피라미드(Image Pyramid)카테고리 없음 2023.12.11 01:11
이미지 피라미드 (Image Pyramid) 알고리즘에서 요구하는 해상도가 있다면, 입력 이미지의 크기를 변경하여 영상 처리를 진행 하기 위해 이미지 피라미드 를 활용 한다. 이미지 피라미드의 의미는 이미지의 크기를 확대 하거나 축소했을 때 이미지들의 형태가 피라미드와 같이 표현 된다. 원본 이미지에서 크기를 확대하는 것을 업 샘플링 이라 하며 하위 단계의 이미지를 생성하게 된다. 원본 이미지에서 크기를 축소하는 것을 다운 샘플링 이라 하며 상위 단계의 이미지를 생성하게 된다 이미지 피라미드로는 가우시안 피라미드와 라플라시안 피라미드가 있다. 가우시안 피라미드 가우시안 피라미드는 이미지를 스무딩(평활화)과 다운샘플링(해상도를 줄이는 것)을 통해 다양한 해상도로 나타냅니다. 가우시안 피라미드를 만들기 위해..
-
회전(Rotate)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)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) 대칭 함..
-
비디오 출력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...