일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- english writing
- ielts writing
- 책
- Skilled Independent Migration
- Monica Hwang
- 황예랑
- 호주
- 독립기술이민
- 그림
- 3분논문
- melbourne
- 호주 이민
- Skilled Independent visa (subclass 189)
- Rosie Banks
- 제주여행
- 멜버른
- IELTS
- Book
- Secret Kingdom
- 예랑이
- Subclass 189
- 자작동화
- Yerang Monica Hwang
- SF
- australia
- 황평화
- General training module
- 평화
- 호주 영주권
- Book Review
- Today
- Total
꾸로네
[GNU Octave] 16비트 Tiff 그림파일 읽어오기 본문
[GNU Octave] 16비트 Tiff 그림파일 읽어오기
오랜만에 GNU Octave에 대한 글이구나.
요즘 하는 실험에서 16비트 Tiff 그림파일을 사용한다. 8비트는 0에서 255까지의 값을 사용하는데, 16비트는 0에서 65535까지의 값을 사용하니 좀 더 많은 정보를 그림파일에 담을 수 있다. 이 16비트 그림파일을 어떻게 처리해야할 지 생각하다가 옥타브에서 처리할 수 있지 않을까 하는 생각에 시도를 해보았다.
일반적으로 그림파일을 읽을 때에는 imread라는 함수를 사용하면 된다. .bmp를 비롯한 다양한 형식을 지원한다. 그런데 이걸 써서 16비트 Tiff 그림파일을 읽으려니 잘 읽어지지 않았다. 그래서 구글에 물어보니 사람들이 고민을 좀 했던 흔적을 발견했다. (흔적 보기)
그래서 결론은 tiffread라는 새로운 함수를 어떤 훌륭한 사람이 만들었다는 내용이다. 누가 만들었는지 찾아보니 유럽의 어느 분자생물학하는 연구실이 나왔다. 아마 좋은 연구를 하는 아름다운 사람들일 거야. 그 홈페이지에 보면 tiffread.m 파일을 받을 수 있는 곳이 연결되어 있다. (파일 받기: http://www.cytosim.org/misc/index.html)
거기에 보면 여러 판이 있는데, 가장 최근 판인 v3.0.1은 GNU Octave에서 잘 안 되었다. 아마도 Matlab에서 잘 작동하는 것을 확인하고 GNU Octave 호환을 확인 안 한 것이 아닌가 하는 생각도 든다. 그래서 v2.9인 tiffread29.m를 받았다.
# 사용법
1. tiffread29.m 을 받아서 파일이름을 tiffread.m으로 바꾼다.
2. 내가 처리하고 싶은 그림파일이 있는 곳에 tiffread.m을 옮겨 놓는다.
3. 그림파일 이름이 img.tif 라고 하면
octave> img=tiffread('img.tif');
라고 하면 된다.
4. whos를 쳐서 확인해보면 img는 struct라고 표시되어 있을 것이다.
5. img.data 를 확인해보면 img.tif의 픽셀값이 행렬로 들어있다.
여기 올려 둔 그림파일을 내려받은 뒤, GNU Octave를 열어서 아래 네 줄을 쳐보자.
octave> img=tiffread('img.tif');
octave> whos
octave> img.data(1:10,1:10)
octave> max(max(img.data))
그럼 다음과 같은 결과가 나와야 한다.
잘 나왔다면 만족.
tiffread.m 이라는 좋은 코드를 만들어 준 François Nédélec과 그의 동료들, merci beaucoup!!!
'연구자료' 카테고리의 다른 글
연구공책 제본 (2) | 2014.02.14 |
---|---|
[ImageJ] 16비트 Tiff 그림파일 처리 프로그램 (0) | 2012.05.03 |
[리눅스] 1. convert + delay, 2. Xfig 한글, 3. gnuplot + front (2) | 2011.11.23 |
[우분투] 부팅할 때 마운트 오류 (0) | 2011.08.08 |
[우분투] 우분투 재부팅, 로그아웃 (2) | 2011.03.15 |