图像批量化中值滤波处理

# sun
import os
import cv2
import numpy as np
import matplotlib.pyplot as plt

old_up_path = r"C:\Users\sun\Desktop\devide_8"
new_up_path = r"C:\Users\sun\Desktop\fen_lei"
panel_name = os.listdir(old_up_path)
for panel_names in panel_name:
    picture_name = os.listdir(panel_names)
    old_path = os.path.join(old_up_path, panel_names)
    new_path = os.path.join(new_up_path, panel_names)
    for picture_names in picture_name:
        # 读取图片
        path = os.path.join(old_path, picture_names)
        path2 = os.path.join(new_path, picture_names)
        # 读取图片
        img = cv2.imread(path)
        # source = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

        # 中值滤波
        result = cv2.medianBlur(img, 3)

        # 保存图像
        cv2.imwrite(path2, result)

        # 前后对比展示
        # titles = ['原始图像', '中值滤波']
        # images = [img, result]
        # for i in range(2):
        #     plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')
        #     plt.title(titles[i])
        #     plt.xticks([]), plt.yticks([])
        # plt.show()

        # # 绘制直方图
        # plt.hist(img.ravel(), 256)
        # plt.xlabel('x')
        # plt.ylabel('y')
        # plt.show()
        #
        # plt.hist(result.ravel(), 256)
        # plt.xlabel('x')
        # plt.ylabel('y')
        # plt.show()


 经过中值变化后,两个图的直方图还是有所区别的。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值