메모 2

#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. 프로젝트 폴더>폴더>파일 ) 다음과 같이 사용하면 된다. #위의 조건에서의 상대 경로 ./(폴더명)/(파일명) 오류가 나기 전엔 절대 경로를 사용하고 있었는데 폴더를 이동하..