티스토리 뷰
컴퓨터 전공자가 아닌 나에겐 굉장히 어려웠던 작업이였다.
데이터를 읽고 쓰는 방식에는 빅에디안(big endian), 리틀 에디안(little endian)이라는 방식이 있다.
intel 컴퓨터는 리틀 에디안 방식을 사용하나 실험 도구, 다른 환경에서 만들어진 파일은 빅에디안 방식일 수도 있다.
그러한 파일을 열기위해 대부분의 읽고 쓰는 함수는 빅에디안으로 읽을지, 리틀에디안으로 읽을지 설정가능하다.(매트랩도 있음)
다음은 파이썬과 numpy로 바이너리 파일을 빅에디안 방식으로 읽는 코드이다.
1
2
3
4
5
6
7
8
9
10
11
|
import numpy as np
import os
import matplotlib.pyplot as plt # 이미지 확인
os.chdir("C:\\Users\\todayfirst\\Desktop") #내 파이썬파일 경로로 변경
bdata_np = np.fromfile("바이너리 파일 경로", dtype='>h')
bdata_np_reshape = np.reshape(bdata_np,[1024,1024]) #사이즈는 이미지에 따라 다름.
plt.imshow(bdata_np_reshape)
|
cs |
7번째 줄의 bdata_np = np.fromfile("바이너리 파일 경로", dtype='>h')가 핵심이다.
dtype='>h' 여기서 >가 빅에디안 이고 <로하면 리틀 에디안으로 읽는다. h는 4bit의 short integer로 읽는 다는 것이며 사용하고자하는 데이터 형에 따라 바꾸면 된다.
'digitalization > 파이썬' 카테고리의 다른 글
파이썬 matplotlib에서 subplot 그래프의 레이어 개념(맨앞으로 같은) (0) | 2020.03.12 |
---|---|
스파이더의 variable explorer(변수목록)에서 모든 변수가 보이지 않을 경우 (0) | 2020.03.12 |
댓글