-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
219 lines (210 loc) · 12.8 KB
/
main.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
import math
import random
import cv2
import cv2 as cv
import numpy as np
import os
import torchvision.transforms as transforms
tmp_all_images = []
all_images = []
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/sp"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/sp",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/sp/" + filename, cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "sp", filename])
# cv.imshow("sp", image)
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/debr"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/debr",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/debr/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "debr", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_multi"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_multi",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_multi/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_multi", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_8"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_8",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_8/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_8", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_4"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_4",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_4/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_4", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_3"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_3",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_3/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_3", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_2"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_2",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_2/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_2", filename])
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_1"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_1",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN/chl_1/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
tmp_all_images.append([image, "chl_1", filename])
TEST_tmp = []
TEST_all = []
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TEST/TEST"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TEST/TEST",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TEST/TEST/" + filename,
cv2.IMREAD_GRAYSCALE)
# image_2 = cv.imread()
TEST_tmp.append([image, filename])
for i in range(0, len(TEST_tmp)):
if i % 2 == 0:
TEST_all.append([np.concatenate((TEST_tmp[i][0].reshape((128, 128, 1)),
TEST_tmp[i + 1][0].reshape((128, 128, 1)), np.zeros((128, 128, 1))),
axis=2) / 255, TEST_tmp[i][1].split('_')[0]])
else:
continue
# for i in range(0, len(TEST_all)):
# actual_image_name = TEST_all[i][1]
# r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TEST_merged/" + actual_image_name + '.png', TEST_all[i][0] * 255)
for i in range(0, len(tmp_all_images)):
if i % 2 == 0:
# all_images.append([np.concatenate(tmp_all_images[i][0], tmp_all_images[i+1][0]),tmp_all_images[i][0]])
# all_images.append([tmp_all_images[i][0]+tmp_all_images[i+1][0], tmp_all_images[i][1]]) ez is működik
# all_images.append([tmp_all_images[i][0], tmp_all_images[i + 1][0], tmp_all_images[i][1]])
all_images.append([np.concatenate((tmp_all_images[i][0].reshape((128, 128, 1)),
tmp_all_images[i + 1][0].reshape((128, 128, 1)), np.zeros((128, 128, 1))),
axis=2) / 255, tmp_all_images[i][1], tmp_all_images[i][2].split('_')[0]])
else:
continue
random.shuffle(all_images)
train_size = math.floor(len(all_images) * 0.8)
for i in range(0, train_size):
actual_image_name = all_images[i][2]
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/" + all_images[i][1] + "/" + actual_image_name + '.png', all_images[i][0] * 255)
for i in range(train_size, len(all_images)):
actual_image_name = all_images[i][2]
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_valid/" + all_images[i][1] + "/" + actual_image_name + '.png', all_images[i][0] * 255)
#
# print(all_images)
rotate = transforms.RandomRotation(degrees=(0, 90))
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/" + filename)
# tmp_all_images.append([image, "chl_multi", filename])
# rotated_imgs = rotate(image)
# cv.imshow(rotated_imgs)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/rot1_" + filename, cv.rotate(image, cv2.ROTATE_90_CLOCKWISE))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/rot2_" + filename, cv.rotate(image, cv2.ROTATE_180))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/rot3_" + filename, cv.rotate(image, cv2.ROTATE_90_COUNTERCLOCKWISE))
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/" + filename)
# tmp_all_images.append([image, "chl_multi", filename])
# rotated_imgs = rotate(image)
# cv.imshow(rotated_imgs)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/rot1_" + filename, cv.rotate(image, cv2.ROTATE_90_CLOCKWISE))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/rot2_" + filename, cv.rotate(image, cv2.ROTATE_180))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/rot3_" + filename, cv.rotate(image, cv2.ROTATE_90_COUNTERCLOCKWISE))
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3/" + filename)
# tmp_all_images.append([image, "chl_multi", filename])
# rotated_imgs = rotate(image)
# cv.imshow(rotated_imgs)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3/rot1_" + filename, cv.rotate(image, cv2.ROTATE_90_CLOCKWISE))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3/rot2_" + filename, cv.rotate(image, cv2.ROTATE_180))
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_3/rot3_" + filename, cv.rotate(image, cv2.ROTATE_90_COUNTERCLOCKWISE))
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/" + filename)
lab = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
l_channel, a, b = cv2.split(lab)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(7, 7))
cl = clahe.apply(l_channel)
limg = cv2.merge((cl, a, b))
enhanced_img = cv2.cvtColor(limg, cv2.COLOR_LAB2BGR)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_multi/contrast_" + filename, enhanced_img)
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/" + filename)
lab = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
l_channel, a, b = cv2.split(lab)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(7, 7))
cl = clahe.apply(l_channel)
limg = cv2.merge((cl, a, b))
enhanced_img = cv2.cvtColor(limg, cv2.COLOR_LAB2BGR)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_8/contrast_" + filename, enhanced_img)
for filename in os.listdir(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_4"):
with open(os.path.join(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_4",
filename), 'r') as f:
image = cv.imread(
"./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_4/" + filename)
# tmp_all_images.append([image, "chl_multi", filename])
# rotated_imgs = rotate(image)
# cv.imshow(rotated_imgs)
r = cv2.imwrite("./ppke-itk-neural-networks-2022-challenge/db_chlorella_renamed_TRAIN_merged_actualtrain/chl_4/rot1_" + filename, cv.rotate(image, cv2.ROTATE_90_CLOCKWISE))