def equalize_hist_all(self, root='../data/val/'):
raw_root, out_root = root + 'images/', root + 'normalized/'
if not os.path.exists(out_root):
os.mkdir(out_root)
cnt = 0
for parent, _, files in os.walk(raw_root):
for name in files:
img = cv2.imread(parent + name)
b, g, r = cv2.split(img)
bb, gg, rr = cv2.equalizeHist(b), cv2.equalizeHist(g), cv2.equalizeHist(r)
[row, col] = b.shape
if row > col:
d = row - col
add_block = np.zeros((d, row))
new_bb = np.vstack((bb.T, add_block))
new_gg = np.vstack((gg.T, add_block))
new_rr = np.vstack((rr.T, add_block))
new_bb = new_bb.T
new_gg = new_gg.T
new_rr = new_rr.T
else:
d = col - row
add_block = np.zeros((d, col))
new_bb = np.vstack((add_block, bb))
new_gg = np.vstack((add_block, gg))
new_rr = np.vstack((add_block, rr))
new_bb, new_gg, new_rr = np.uint8(new_bb), np.uint8(new_gg), np.uint8(new_rr)
new_image = cv2.merge([new_bb, new_gg, new_rr])
res = cv2.resize(new_image, (100, 100), interpolation=cv2.INTER_CUBIC)
new_name = out_root + name
cv2.imwrite(new_name, res)
cnt += 1
if cnt % 500 == 0:
print 'Processed', cnt, 'images!'
评论列表
文章目录