IT 7

#3 error: (-215) !empty() in function detectMultiScale

cascade 분류기를 통해 얼굴인식을 하려던 도중 객체검출함수에서 에러가 났다. 이 때 사용 중인 코드는 아래와 같았다. #얼굴 객체검출함수 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default') 얼굴 인식이 가능한 훈련 데이터 .xml 파일의 경로를 찾고 객체를 검출하게 하는 방법을 사용한 것인데, 정상적으로 동작하지 않았다. 기존에는 위와 같은 방식으로 동작됐는데 이는 opencv 구버전에서 사용하는 방법이었던 것이다. opencv 3.3 버전 이후로는 haarcascade 파일들이 별도의 데이터 디렉토리에 저장되어 사용되기 시작했다. 지금 opencv 버전이 4.7 인 걸 감안하면, 꽤 오래된 작성 방식이라고 볼 수 있다. ..

#2 imread 이미지 불러오기 오류

imread 함수로 이미지 파일을 불러오려는데 계속해서 실패했다. 프로젝트 안에서 별다른 이미지 작업을 하는 게 아니고 imread 함수를 호출만 하는 거라면 경로 지정의 문제라고 보면 된다. 경로 지정 방식은 두 가지로 나뉜다. 절대 경로 상대 경로 절대 경로란, 작업하고 있는 pc 기준 불러오려는 파일의 정확한 위치를 의미하고 상대 경로란, 파일의 상대적인 위치를 의미한다. 절대 경로의 작성 방식은 파일의 위치를 그대로 적어주면 되고 상대 경로는 프로젝트가 저장된 폴더 내부에 불러오고자 하는 파일들이 담긴 폴더가 있다면, (Ex. 프로젝트 폴더>폴더>파일 ) 다음과 같이 사용하면 된다. #위의 조건에서의 상대 경로 ./(폴더명)/(파일명) 오류가 나기 전엔 절대 경로를 사용하고 있었는데 폴더를 이동하..

#1 Cannot find reference ' ' in _init_.py

Opencv 모듈을 설치할 때 발생했던 에러인데, 분명 제대로 설치가 됐었다. 그런데 Openc의 함수들(Ex. imread(), imshow(), ...)이 인식되지 않는 문제가 있었다. 문제 원인을 나열해본 결과 아래와 같았다. 파이썬 버전 문제 아나콘다 가상환경 문제 모듈 설치 과정에서 발생한 문제 파이썬과 Opencv에서 버전으로 인한 호환 문제는 없었고, 콘다를 재설치해도 마찬가지였다. 혹시 아나콘다에 설치된 기본 모듈이 Opencv와 문제가 있는지 명확하지 않아 파이썬 인터프리터 환경에서 Opencv 모듈을 설치해보았다. 여전히 문제가 있어서 아나콘다의 문제가 아니란 건 알 수 있었다. 그렇다는 건 모듈의 문제였다. #opencv 모듈 설치 pip install opencv-python 재설치..

[Python] Opencv의 imread 함수는 뭔가요?

😛 imread 함수의 옵션으로 대표적인 것들은 무엇인가요? imread()는 이미지를 불러오는 함수이며, 옵션은 '어떤 방식'으로 불러올지를 의미합니다. 그 방식으로는 크게 세 가지의 종류가 있는데, 아래와 같습니다. imread_color imread_grayscale imread_unchanged 앞서 언급한 적 있는 함수들인데, 추가적으로 한 가지 더 소개할 예정입니다. 아래 사진은 옵션별 결과를 확인하기 위한 원본 이미지입니다! 😛 imread _color imread_color란, 이미지를 컬러로 읽어오고 투명한 부분을 무시합니다. 보다 정확한 의미로는 이미지를 컬러로 받아오되, BGR 색으로 읽어냅니다. opencv에서는 RGB(Red Green Blue)를 BGR로 표현하며, 의미는 다르지..

Python 2023.04.26

[Python] Opencv로 이미지는 어떻게 불러오나요?

👽 Opencv로 이미지는 어떻게 다루나요? Opencv를 통해 이미지를 처리하려면 해당 기능을 가진 함수를 호출해야 합니다. 호출 방식은 모듈명 뒤에 함수명을 작성하면 되며, 아래와 같습니다. "cv2.(함수명)()" 사용할 때는 함수의 기본적인 형태에 맞게 대입하여 사용하면 됩니다. 👽 imread 함수 imread 함수란 이미지를 읽어 Numpy의 객체로 만드는 함수입니다. cv2.imread(file_name, option) file_name : 특정한 이미지의 파일명을 입력하는 곳이며, 파일의 저장경로를 입력해주면 됩니다. option : 이미지를 읽는 방법을 설정하는 곳입니다. imread 함수의 종류는 다양합니다. imread_color: 이미지를 컬러로 읽고, 투명한 부분 무시 imread..

Python 2023.04.24

[Python] Opencv 개발환경 구축은 어떻게 하나요?

👨‍💻 파이썬에서 Opencv를 사용하려면 어떻게 해야 하나요? Opencv를 파이썬에서 사용하려면 전용 라이브러리를 설치해야 합니다. (저는 Pycharm을 사용합니다.) 터미널에 다음과 같이 입력하면 됩니다. pip install opencv-python #주요 모듈 설치 그리고 파이썬에서 모듈을 불러올 때는 이렇게 작성해 주면 됩니다. import cv2 # Opencv 모듈 호출 👨‍💻 Opencv 모듈이 정상적으로 인식되지 않아요. 보통 개발환경 구축 초반에만 생기는 문제라 설치 직후 테스트할 때 알아차릴 수 있는데, 모듈을 호출했음에도 "Cannot find reference ' ' in _init_.py" 에러 메시지와 함께 관련 함수들이 인식이 되지 않을 때가 있습니다. 원인이 다양한 만큼..

Python 2023.04.22

[Python] Opencv는 어떤 건가요?

안녕하세요. Opencv를 공부한 내용들을 정리하고 , 직접 느끼는 바들을 정리해보고자 쓰게 되었습니다. 내용의 일부는 개인적인 견해가 반영되었을 수 있다는 점 양해 부탁드립니다. :) 🔗 Opencv란? Opencv는 쉽게 말해 하나의 라이브러리입니다. 라이브러리의 종류는 다양한데, 이 중 Opencv는 사진이나 영상처리에 특화가 되어있습니다. 🔗 어떤 언어에서 사용하나요? 주로 C++, Python, Java에서 많이 사용합니다. 그 이외에도 여러 프로그래밍 언어에 사용할 수 있도록 API를 제공하고 있어 다양한 환경에서 사용할 수 있습니다! (저는 이 라이브러리를 접하는 데 있어 Python이 접근하기 쉬울 것 같아 선택했습니다.) 🔗 어디에 활용되나요? 이미지와 비디오를 다루기 때문에 캡처와 처리..

Python 2023.04.21