이번 데이터사이언스 프로그래밍 강의를 해주시는 교수님께서 영상처리를 전문으로 하시는 분이라 정말 간단하게 파이썬으로 하는 영상처리를 조금 배우게 되었다. 코드를 짜면 결과물이 보이니까 좋았다던 교수님의 말씀을 따라 나도 혹시 흥미가 있을까 싶어 열심히 코드를 쳐봤었다. 그러나 집에 와서 혼자 해보려고 하니 이미지를 어떻게 불러오는 것인지 많이 헷갈렸다. 아무리 찾아도 내 이미지가 불러와지지 않는 이유를 찾을 수 없었어서 혼자 깨닫게 된 것을 정리하고자 한다.
import cv2
img_gray = cv2.imread("C:/Users/yunse/images/mandrill.png", cv2.IMREAD_GRAYSCALE)
img_color = cv2.imread("C:/Users/yunse/images/mandrill.png", cv2.IMREAD_COLOR)
cv2.imshow('grayscale', img_gray)
cv2.imshow('color image', img_color)
cv2.waitKey(0)
cv2.destroyAllWindows()
정말 간단한 코드를 하나 가져왔다. imread 할때 괄호 안에 파일 경로명을 써주어야 하는데 막 찾아보니까 사람들이 그냥 'mandrill.png'만 쓰길래 정말 헷갈렸었다. 우선 파일 경로명을 찾는 방법부터 설명해보면
이런식으로 이미지를 저장 했을 것이다. 그 저장한 이미지 위에 마우스를 올리고 오른쪽 클릭하면
대충 이런식으로 나올 것이다. 여기서 속성을 클릭해주면
이런식으로 나온다. 즉 속성에서 위치를 확인해볼 수 있다. \라고 되어 있는 부분은 /로 바꿔주면 된다.
위치에 한글이 들어가면 오류가 많이 발생하니 한글로 하는 방법을 찾기보단 그냥 이미지를 담아놓은 파일이나 경로들이 모두 영어가 되도록 하는 것이 좋을 것 같다. window11의 경우에는 오른쪽 클릭시 파일 경로 복사 기능이 있다고 했던 것 같으니 그렇게 해도 될 것이다. 당연히 알 것 같지만 나처럼 모르는 사람도 있을테니까.....정리했다...
근데 사실 나는 이렇게 안하고도 경로명을 잘 썼었다. 그런데도 코드가 돌아가지 않아 애를 먹었다.
이미지가 비어있다는 명령어가 계속 나와서 뭔 이미지가 비어있나 싶었는데 알고보니 이미지를 저장한지 오래돼서 그런지 이미지 파일에 이미지가 없었다... 다시 다운 받고 해보니 매우 간편하게 해결되었다. 나같은 오류를 겪고 있는 사람에게 도움이 됐으면 해서 이미지를 다시 다운 받아 보라는 말을 남긴다...
정리하자면 opencv를 할 때 imread에서 오류 발생시/경로명 설정을 어떻게 해야할 지 모를 때
1. 속성 들어가서 파일 경로 복사하기!
2. 파일 경로에 한글 안 들어가게 하는게 좋다!
3. 이미지를 다시 다운 받아보자!
'데이터사이언스 > 데이터 지식' 카테고리의 다른 글
정규화 vs 표준화 (0) | 2024.12.18 |
---|---|
SHAP(Shapley Additive exPlanations) 총정리 (0) | 2024.08.21 |
pytorch gpu 설정 & autogluon gpu 연결 방법 (0) | 2024.04.24 |
합성사진 제작(% 설정) (0) | 2022.05.09 |
합성 사진 제작(트랙바로 조절) (0) | 2022.05.09 |