반응형
OpenCV 좌표계를 직교 좌표계로 변환하는 Python 코드
OpenCV/OpenCV 강좌2023. 4. 13. 21:07OpenCV 좌표계를 직교 좌표계로 변환하는 Python 코드

OpenCV에서 사용하는 좌표계를 직교 좌표계로 변환하는 예제입니다. 2023. 4. 13 최초작성 OpenCV의 좌표계는 아래 그림처럼 왼쪽 위가 (0, 0)이고 오른쪽으로 갈수록 x좌표가 증가하며 아래로 내려갈수록 y좌표가 증가합니다. 자세한 내용은 다음 포스트를 참고하세요. OpenCV Python 그리기 예제 1. OpenCV의 좌표계 https://webnautes.tistory.com/580 수학에서 접한 좌표계는 직교 좌표계로 보통 왼쪽 아래에 (0,0)이 주어지며 오른쪽으로 갈수록 x좌표가 증가하고, 위로 올라갈수록 y좌표가 증가합니다. OpenCV의 좌표계를 직교 좌표계로 변환하는 코드를 간단히 작성해봤습니다. 화면 중앙에 (0,0)이 위치하며 오른쪽으로 갈 수록 x좌표가 증가하고 위로 ..

OpenCV Python - 이미지를 정사각형이 되도록 패딩(padding)하는 예제
OpenCV/OpenCV 강좌2022. 5. 28. 06:43OpenCV Python - 이미지를 정사각형이 되도록 패딩(padding)하는 예제

로드한 이미지를 정사각형 이미지가 되도록 가장자리를 0으로 채워 패딩(padding)하는 OpenCV Python 예제입니다. 최소한 이미지의 최대변 길이 이상을 입력해야 정사각형 이미지로 만들어줍니다. 그 이하인 경우에는 원본 이미지를 그대로 출력합니다. 2022. 3. 6 최초작성 2022. 5. 28 이미지가 큰 경우에도 패딩하도록 수정 640 x 480 이미지를 로드하여 한변의 길이가 640인 정사각형 이미지를 출력하고 있습니다. import cv2 def padding(img, set_size): try: h,w,c = img.shape except: print('파일을 확인후 다시 시작하세요.') raise if h < w: new_width = set_size new_height = int(..

OpenCV Python - Image Center Crop 예제
OpenCV/OpenCV 강좌2022. 3. 6. 21:47OpenCV Python - Image Center Crop 예제

로드한 이미지를 Center Crop하는 OpenCV Python 예제입니다. 2022. 3. 6 최초작성 오른쪽 원본 이미지의 중심을 기준으로 300 x 300 이미지를 Center Crop한 이미지가 왼쪽 이미지입니다. 원본 이미지에 Center Crop한 이미지를 맞추어 보면 어느 부분인지 알 수 있습니다. import cv2 def center_crop(img, set_size): h, w, c = img.shape if set_size > min(h, w): return img crop_width = set_size crop_height = set_size mid_x, mid_y = w//2, h//2 offset_x, offset_y = crop_width//2, crop_height//2 c..

OpenCV/OpenCV 강좌2021. 11. 14. 21:09Python OpenCV에서 이미지 크기 (width, height) 가져오기

Python OpenCV에서 이미지 크기(width, height)를 가져오는 방법입니다. 2021. 11. 14 컬러 이미지의 경우에는 shape 함수를 통해 height, width, channels를 얻을 수 있습니다. import numpy as np import cv2 img = cv2.imread('apple.png', cv2.IMREAD_COLOR) print('img.shape ', img.shape) h, w, c = img.shape print('height ', h) print('width ', w) print('channel ', c) img.shape (618, 641, 3) height 618 width 641 channel 3 흑백 이미지의 경우에는 shape 함수를 통해 he..

OpenCV - MSER과 IOU를 사용하여 사각형 검출
OpenCV/OpenCV 강좌2021. 10. 4. 18:50OpenCV - MSER과 IOU를 사용하여 사각형 검출

사각형을 찾도록 MSER(Maximally Stable Extremal Regions)을 이미지에 적용한 다음 IoU(Intersection over Unit)를 사용하여 같은 영역에 중복되어 그려진 사각형을 제거해보았습니다. 테스트한 이미지에서만 사용해본 코드라 다른 이미지에서는 의도한대로 동작하지 않기 때문에 추가 작업이 필요합니다. 포스트에선 IOU값이 0.2보다 크면 사각형 내부에 사각형이 포함된 것으로 보았는데 두 사각형이 포함관계가 아니라 일부 겹쳐진 경우도 해당 될 수 있기 때문입니다. 포스트에서는 문제를 간단하게 하기 위해서 다음 이미지에서 검출되는 5개의 사각형 중, 사각형 내에 있는 작은 사각형을 제외하고 나머지 사각형을 검출하도록 했습니다. 2021. 9. 23 - 최초작성 2021...

해리스 코너를 사용한 이미지 매칭(Image feature matching with Harris Corner Detection)
OpenCV/OpenCV 강좌2021. 8. 1. 16:14해리스 코너를 사용한 이미지 매칭(Image feature matching with Harris Corner Detection)

해리스 코너 디텍터를 사용하여 검출한 코너점을 사용하여 두 장의 이미지를 매칭하는 예제입니다. 코너점의 방향을 기준으로 이미지 패치를 회전시키서 매칭점인지 비교하기 때문에 다른 부분의 코너점인데 매칭될 수 있습니다. 2019. 5. 29 최초작성 2020. 9. 14 최근 OpenCV 버전에서 문제 되는 코드 수정 2021. 8. 1 최근 OpenCV 버전에서 문제 되는 코드 수정 두 장의 이미지에서 각각 코너점을 찾은 후, 유사한 코너점끼리 매칭을 해준 결과입니다. 다음 단계를 거쳐 코너점을 매칭합니다. 1. 해리스 코너 디텍터로 코너점을 찾습니다. 2. 코너점을 기준으로 일정 크기의 이미지를 ROI 합니다. 3. 코너점을 중심점으로 하는 일정크기의 패치를 얻었습니다. 일치하는 점인것 확실 하지만 이미..

OpenPose를 사용하여 손가락 인식하는 OpenCV 예제
OpenCV/OpenCV 강좌2021. 2. 2. 23:45OpenPose를 사용하여 손가락 인식하는 OpenCV 예제

오픈포즈(OpenPose)를 사용하여 손가락을 인식하는 코드를 살펴봅니다.

OpenCV/OpenCV 강좌2020. 12. 10. 21:02char 배열과 Mat간 변환하는 OpenCV 예제

Mat 객체에 있는 이미지 데이터를 char 배열로 옮겼다가 다시 Mat 객체로 가져오는 예제입니다. 2020. 12. 10 최초작성 #include using namespace cv; int main() { // 이미지에서 버퍼 꺼내기 Mat image = imread("1.jpg"); int width = image.cols; int height = image.rows; int bpp = image.channels(); int imagesize = width * height * bpp; uint8_t *buffer = new uint8_t[imagesize]; memcpy(buffer, image.data, imagesize); // 버퍼를 Mat에 넣어 화면에 보여주기 Mat rgb(height, ..

흑백 사진을 컬러 사진으로 변환하는 방법(colorization)
OpenCV/OpenCV 강좌2020. 11. 27. 11:49흑백 사진을 컬러 사진으로 변환하는 방법(colorization)

OpenCV에서 제공하는 샘플 중 하나인 colorization을 실행시켜 보았습니다.colorization는 흑백 사진을 컬러 사진으로 변환하는 방법입니다.

디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV에서 읽어서 화면에 보여주기
OpenCV/OpenCV 강좌2020. 10. 24. 08:46디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV에서 읽어서 화면에 보여주기

디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV의 imread 함수로 읽어서 화면에 보여주는 예제 코드입니다. 2020. 10. 24 최초작성 소스 코드 위치에 있는 dataset 폴더에 있는 이미지 파일의 경로를 하나씩 만들어서 imread 함수를 사용하여 이미지 파일을 읽어오고imshow 함수를 사용하여 화면에 보여줍니다. 아무키나 누를때마다 다음 이미지를 가져와 화면에 보여줍니다. import os import cv2 as cv for i in os.listdir('./dataset/'): path = './dataset/'+i img_color = cv.imread(path, cv.IMREAD_COLOR) cv.imshow( "image", img_color) cv.waitKey(0)

반응형
image