import cv2
import numpy as np
import os
def grey_scale(image):
img_gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
rows, cols = img_gray.shape
flat_gray = img_gray.reshape((cols * rows,)).tolist()
A = min(flat_gray)
B = max(flat_gray)
if A==B:
return 'Wrong'
output = np.uint8(255 / (B - A) * (img_gray - A) + 0.5)
return output
if __name__=='__main__':
root='D:\BaiduNetdiskDownload\\necvset\\necv'
save_root='D:\BaiduNetdiskDownload\\necvset\\result_wv'
folders=os.listdir(root)
folders.sort()
for folder in folders:
files=os.listdir(f'{root}\\{folder}')
files.sort()
for file in files:
imgs=os.listdir(f'{root}\\{folder}\\{file}')
imgs.sort()
save=f'{save_root}\\{folder}\\{file}'
if not os.path.exists(save):
os.makedirs(save)
for img in imgs:
if 'WV' in img:
if os.path.exists(f'{save}\\{img}'):
continue
print(f'{root}\\{folder}\\{file}\\{img}')
src = cv2.imread(f'{root}\\{folder}\\{file}\\{img}')
result = grey_scale(src)
if result=='Wrong':
continue
cv2.imwrite(f'{save}\\{img}',result)
图片地址D:\BaiduNetdiskDownload\necvset\necv\2020\20200101