Используя Python, я пытаюсь преобразовать каждый пиксель черно-белого изображения в шестнадцатеричный формат и сохранить его в файле «.txt». Я должен использовать C для своего приложения, чтобы его было легче прочитать из текстового файла, а затем выполнить все преобразования в C-коде. Я настроил пример кода из сети, но я все еще не очень опытен в использовании Python.
Когда я запускаю свой скрипт на python, он выдает только два шестнадцатеричных значения вместо восьми. Сначала я подумал, что это изображение ч / б, но RGB-изображение должно содержать 0x000000
для черного и 0xFFFFFF
для белого.
Python Script
from binascii import hexlify
import re
hexValNew = ''
placeHolder ='0'
file = open('Frame2.txt', 'w') #Create txt file for data
with open('Frame2.png', 'rb') as f:
binVal = f.read(1)
while len(binVal) != 0:
hexVal = hex(ord(binVal))
hexValNew = hexVal[2:4] #Remove "0x" from hex() process
hexValString = str(hexValNew)
if len(hexValString) == 1:
hexValString = placeHolder + hexValString
print hexVal
#print(hexValString) #Test Line
file.write(hexValString) #Write adjusted hex value to txt file
binVal = f.read(1)
file.close() #Close txt file
Раздел ./a.out
Ф.Ф.
00
62
26
e0
c4
a2
d7
c2
90
00
00
49
45
4e
44
ае
42
60
82
Насколько я понимаю, значение должно иметь восемь возвращаемых цифр, а не только две.