반응형
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)

OpenCV/OpenCV 강좌2020. 8. 16. 22:49[OpenCV / Python ] convexityDefects 함수에 convex hull indices are not monotonous ... self-intersections 에러 나는 경우 해결 방법

유튜브 영상의 댓글로 코드 실행시 다음과 같은 에러가 난다고 알려주신 분이 있어서 확인해보았습니다. The convex hull indices are not monotonous, which can be in the case when the input contour contains self-intersections in function 'cv::convexityDefects' 유튜브 영상에서 설명하고 있는 다음 포스트의 코드에서 발생한 에러입니다. OpenCV를 사용하여 손 검출 및 인식하기(Hand Detection and Recognition using OpenCV)https://webnautes.tistory.com/1378 코드 작성시 테스트한 버전에서는 문제 없던 코드가 OpenCV 4.3.0에서..

OpenCV의 SIFT를 사용하여 사진 속에서 원하는 물체 찾기
OpenCV/OpenCV 강좌2020. 8. 12. 09:31OpenCV의 SIFT를 사용하여 사진 속에서 원하는 물체 찾기

OpenCV에 포함되어 있는 SIFT 알고리즘을 사용하여 사진 속에서 원하는 물체를 찾는 과정을 진행해보았습니다. 특허가 만료되어 SIFT가 OpenCV 4.4.0부터는 Extra 모듈(contrib)에서 메인 모듈로 옮겨졌습니다.별도의 빌드없이 미리 빌드되어 배포되는 OpenCV를 사용하여 SIFT를 사용할 수 있게 되었습니다. 영상에서는 OpenCV에 포함된 SIFT를 실행시키기 위해 필요한 모든 과정을 설명합니다.

반응형
image