2019-04-16 23:13:26

img1.bmp, img2.bmp,..., img10.bmp 이미지들이 한 폴더에 들어있다고 가정해보자. 이 이미지들을 읽어서 어떠한 영상처리 작업을 시행하려고 한다. for문을 사용해서 img1.bmp부터 img10.bmp까지 읽어내려면 어떻게 해야할까? 아래와 같이 코드를 작성하면 된다. 

 

 

이 .m 파일은 img1.bmp,..., img10.bmp와 같은 폴더 내에 들어있어야 한다. 

 

여기서 가장 중요한 것은 바로 num2str 함수다. num2str함수는 이름에서도 알 수 있듯이 number to string, 즉 숫자형을 문자형으로 변환해준다. 따라서 for 문에 처음 들어섰을 때 i가 숫자형으로 1이었던 것을 문자형으로 바꿔서 '1'이 되게 한다. 그리고 그 다음 행에서 ['img', '1', '.bmp'] = 'img1.bmp'을 imread 함수가 읽어낸다. 

 

이 방식은 상당히 유용하다. 아마도 영상처리를 하시는 분들이라면 자주 사용하고 계실 것이라 생각한다. 

 

num2str과 정반대의 역할을 하는 함수는 str2num이다. string to number, 즉 문자형을 숫자형으로 변환해주는 것이다. 굳이 예제를 첨부하지는 않겠다.