본문 바로가기

프로그래밍/Python

바이너리 파일처리

전체코딩
import random
## 함수
def printImage() :
    for i in range(ROW):
        for k in range(COL):
            print("%03d" % image[i][k], end=' ')
        print()
    print()

## 전역
filename = 'C:\\images\\RAW\\Etc_Raw(squre)\\flower512.raw'
image = []
ROW, COL = 512, 512

## 메인
# 1. 파일 --> 메모리
# 1-1 메모리 할당
image = [ [ 0 for _ in range(COL)] for _ in range(ROW) ]
# 1-2. 불러오기 (대신 랜덤)
rfp = open(filename,'rb')
for i in range(ROW) :
    for k in range(COL) :
        image[i][k] = random.randint(0,255)
rfp.close()
printImage()

라이브러리
import random

- 랜덤 함수를 쓰기 위해 불러옴


함수부분
## 함수
def printImage() :
    for i in range(ROW):
        for k in range(COL):
            print("%03d" % image[i][k], end=' ')
        print()
    print()

- 함수 printImage 는 ROW x COL 배열에 image[i][k](= (i , k)) 값을 출력함


전역변수
## 전역
filename = 'C:\\images\\RAW\\Etc_Raw(squre)\\flower512.raw'
image = []
ROW, COL = 512, 512

- filename 변수 준비하고 '파일주소\\파일 이름'을 넣어줌

- 배열 image 준비

- ROW, COL을 준비, 512로 설정


메인함수_메모리 할당
image = [ [ 0 for _ in range(COL)] for _ in range(ROW) ]

- image에 ROW x COL 값만큼의 배열 준비, 초기값 0

 

메인함수_불러오기
rfp = open(filename,'rb')
for i in range(ROW) :
    for k in range(COL) :
        image[i][k] = random.randint(0,255)
rfp.close()
printImage()

- rfp는 filename의 파일을 이진수로 열음

- ROW x COL의 (i , k)값을 랜덤으로 0~255중 하나로 지정

- rfp를 닫음

- printImage함수로 출력

'프로그래밍 > Python' 카테고리의 다른 글

Gray Scale 영상처리 : 이미지 불러오기  (0) 2022.02.18
파이썬 GUI  (0) 2022.02.17
파일 처리  (0) 2022.02.17
임의의 이미지값 출력  (0) 2022.02.17
2차원 배열  (0) 2022.02.17