もう一度イメージが必要ですが、返すグレースケール 私の先生は最初にカラーマップを行い、それがmatlabで起こったと言っていました。私は 助けてください私のコードを見ているされてあまりにも ここではPythonで同様の作業を行いたいPythonのmatlabカラーマップ
暗号化:
import numpy as np
from PIL import Image
x = Image.open('1.jpg', 'r')
x = x.convert('L')
y = np.asarray(x.getdata(), dtype=np.int).reshape((x.size[1], x.size[0]))#changed image to matrix getdata for matrix value # dtype is int type reshape used to break 1d array into 2d array
y = np.asarray(y, dtype=np.uint8)#if values still in range 0-255!
#print(y)
z = y
w = Image.fromarray(y, mode='L')
w.save('grey_scale.bmp')
for i in range(len(z)):
for j in range(len(z[i])):
a = z[i][j]
p = int(bin(a)[2:])
p = '%08d' % p
p = p[::-1]
z[i][j] = int(p, 2)
#print(z)
C = Image.fromarray(z)
C.save('decryption.bmp')
print("DONE")
DECRYPTION:
import numpy as np
from PIL import Image
x = Image.open('decryption.bmp', 'r')
y = np.asarray(x.getdata(), dtype=np.int).reshape((x.size[1], x.size[0]))#changed image to matrix getdata for matrix value
#print(y) # dtype is int type reshape used to break 1d array into 2d array
y = np.asarray(y, dtype=np.uint8)#if values still in range 0-255!
#print(y)
z = y
for i in range(len(z)):
for j in range(len(z[i])):
a = z[i][j]
p = int(bin(a)[2:])
p = '%08d' % p
p = p[::-1]
z[i][j] = int(p, 2)
#print(z)
C = Image.fromarray(z)
C.save('Final.bmp')
print("DONE")
ここであなたの探しているものがわかりません。あなたの行x = x.convert( 'L')は画像をグレースケールに変換します。色情報が失われ、処理量が戻ってくることはありません。トーンマッピングについて質問している場合を除きますか? –
上記の指定されたコードを変更して、RGBイメージを入力してからrgbイメージとして出力しますが、グレースケールで処理します – prashant