问题遇到的现象和发生背景
毕业设计,牵扯到关于大雾天气下的车辆识别,我用的是YOLOv5算法,但是到处理数据集这里遇到了问题,不会对一个文件内的图像进行批量的雾化处理,效率很低,在网络上找到了一些雾化图像的代码,但是只能进行单张图像的雾化,想知道这个代码如何修改,能让这个代码可以批量处理文件夹内的图像(大概有两千多张)
问题相关代码,请勿粘贴截图
import cv2, math
import numpy as np
def demo():
img_path = 'data/images/bus.jpg'
img = cv2.imread(img_path)
img_f = img / 255.0
(row, col, chs) = img.shape
A = 0.5 # 亮度
beta = 0.08 # 雾的浓度
size = math.sqrt(max(row, col)) # 雾化尺寸
center = (row // 2, col // 2) # 雾化中心
for j in range(row):
for l in range(col):
d = -0.04 * math.sqrt((j - center[0]) ** 2 + (l - center[1]) ** 2) + size
td = math.exp(-beta * d)
img_f[j][l][:] = img_f[j][l][:] * td + A * (1 - td)
cv2.imshow("src", img)
cv2.imshow("dst", img_f)
cv2.waitKey()
if name == 'main':
demo()
##网络上搜到的单张图像 去雾代码##作者:https://blog.csdn.net/u014070279/article/details/108130286