-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrgb.py
107 lines (90 loc) · 2.41 KB
/
rgb.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import random
from PIL import Image
import numpy as np
from numpy import asarray
def rgben(str,key):
pixels = []
l=len(str)
temp = [0,0,0]
j=0
for i in range(0,l):
if(j<3):
temp[j]=ord(str[i])
j+=1
pixels.append(temp)
temp=[0,0,0]
continue
else:
temp=[0,0,0]
temp[0]=ord(str[i])
j=1
pixels.append(temp)
temp=[0,0,0]
if(i==len(str)-1):
pixels.append(temp)
temp=[0,0,0]
if(len(pixels)%key==0):
r=int(len(pixels)/key)
else:
m= key - len(pixels)%key
for i in range(0,m):
if(i==0):
pixels.append([1,1,1])
continue
pixels.append([0,0,0])
r=int(len(pixels)/key)
l=len(pixels)
# temp.append(pixels[i])
# j=1
# if(i==len(str)-1):
# for k in range(j,sq):
# temp.append([0,0,0])
# res.append(temp)
a = np.array(pixels).reshape(r,key,3)
pixels=a
for i in range(0,len(pixels)):
for j in range(0,len(pixels[i])):
for k in range(0,len(pixels[i][j])):
if(pixels[i][j][k]==0):
pixels[i][j][k]=random.randint(2,256)
print(pixels)
transpos = [[]]
for i in range(0,key):
for j in range(0,r):
transpos[0].append(pixels[j][i])
pixels = transpos
print(pixels)
array = np.array(pixels, dtype=np.uint8)
# Use PIL to create an image from the new array of pixels
new_image = Image.fromarray(array)
new_image.save('new.png')
def rgbde(img,key):
img = Image.open(img)
numpydata = asarray(img)
temp=[]
arr=[]
j=0
l=len(numpydata[0])
print(l)
r=int(l/key)
arr = np.array(numpydata).reshape(key,r,3)
str=""
print(arr)
k=0
for i in range(0,r):
for j in range(0,key):
if(arr[j][i][1]!=1):
if(k<3):
str+=chr(arr[j][i][k])
k+=1
else:
str+=chr(arr[j][i][0])
k=1
else:
break
return str
# str=input()
# key=int(input())
# rgben(str,key)
# img='new.png'
# print(rgbde(img,key))