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
该代码使用OpenCV库将指定文件夹下所有RGB图像转换为灰度图像。它首先读取目录结构,然后对每个子目录中的图片进行灰度处理,如果图片已存在则跳过。处理过程包括将图片转换为一维数组,找到最小和最大像素值,然后计算新的灰度值并保存结果。
1718

被折叠的 条评论
为什么被折叠?



