Python读取指定文件夹中的所有图片,然后经过LBP特征处理后,保存到指定的文件夹中

前言
之前经常从csdn上查找问题,直接找代码,今天第一次发博客,记录一下自己解决问题的过程,有不对的地方欢迎大家指正!

一、目的

要处理的文件图片
在这里插入图片描述
处理后的文件图片
处理之后的图片

二、代码

import cv2
import numpy as np
import os

def read_directory(directory_name):
    for filename in os.listdir(directory_name):
        # im = cv2.imread(directory_name + "/" + filename)

        def origin_LBP(img):
            dst = np.zeros(img.shape, dtype=img.dtype)
            h, w = img.shape
            for i in range(1, h - 1):
                for j in range(1, w - 1):
                    center = img[i][j]
                    code = 0

                    code |= (img[i - 1][j - 1] >= center) << (np.uint8)(7)
                    code |= (img[i - 1][j] >= center) << (np.uint8)(6)
                    code |= (img[i - 1][j + 1] >= center) << (np.uint8)(5)
                    code |= (img[i][j + 1] >= center) << (np.uint8)(4)
                    code |= (img[i + 1][j + 1] >= center) << (np.uint8)(3)
                    code |= (img[i + 1][j] >= center) << (np.uint8)(2)
                    code |= (img[i + 1][j - 1] >= center) << (np.uint8)(1)
                    code |= (img[i][j - 1] >= center) << (np.uint8)(0)

                    dst[i - 1][j - 1] = code
            return dst


        gray = cv2.imread(directory_name + "/" + filename, cv2.IMREAD_GRAYSCALE)
        cv2.imshow('img', gray)
        # cv2.waitKey(0)
        org_lbp = origin_LBP(gray)
        cv2.imshow('org_lbp', org_lbp)
        # cv2.waitKey(0)

        #####保存图片#########
        cv2.imwrite("D://pycharm//CASIA_attack_Image" + "/" + filename, org_lbp)

read_directory("C://Users//osinliu//Desktop//face//CASIA FASD//CASIA FASD//val//CASIA_attack_Image")#这里传入所要读取文件夹的绝对路径,加引号(引号不能省略!)

三、总结

第一次写不是很会写,主要这CSDN写文章还不大会用,总结起来就是,把文件夹中的所有图片用LBP特征算法进行处理,然后再保存到另一个文件夹中。编写功底有限,有不懂得可以留言,我看到了就会给大家回复!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值