istaotaola 2022-04-11 17:34 采纳率: 0%
浏览 375

yolov5车辆识别的数据集的雾化和去雾处理

问题遇到的现象和发生背景

毕业设计,牵扯到关于大雾天气下的车辆识别,我用的是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

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-11 17:48
    关注

    加入读文件夹函数,修改demo,有用望采纳

    
    ``` file_path 图像文件夹```
    def demo(file_path, img_path):
      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.imwrite(file_path + img_path.replace('.','_frozen.'), img_f)
    def read_images(file_path):
      image_list = os.listdir(file_path)
      for image in image_list:
        demo(file_path, image)
    
    
    file_path = ''
    read_images(file_path)
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月11日

悬赏问题

  • ¥15 MATLAB代码求涡量
  • ¥100 采用栈和深度优先算法对我的代码进行修改显示路径
  • ¥15 pointnet2包安装
  • ¥20 射频功率问题,解答者有酬谢!
  • ¥80 构建降雨和积水的预测模型
  • ¥15 #Qt Transform setTransform()在鼠标拖动移动视角是一致在原地不动,无法变换视角(细微观察似乎视图有在原地抖动),无法变换视角(细微观察似乎视图有在原地抖动)
  • ¥50 如何利用无人机拍摄的数码照片测量鸟卵的长短径
  • ¥100 github贡献者给与奖励
  • ¥15 使用DS18B20+ESP8266获取温度数据返回-127.00
  • ¥15 odbc代码新增sqlserver数据源