首页 > 编程语言 >python-小试牛刀

python-小试牛刀

时间:2023-06-14 21:34:32浏览次数:47  
标签:PIL img python 灰度 file path 小试牛刀


这篇博客对你可能意义不大,对于我而言相对重要一些!!!!

 

因为某人的需求,喊我写一个计算图片灰度值,标准差的代码,计划用js来写,查了一下两种写法,一种用canvas获取img的属性,根据像素的灰度值进行计算;另一种是node+opencv来写,但是Windows在node环境下配置opencv好像优点麻烦,果断放弃。

想着某人平常在写Python的代码,就试着写了一下,发现python和js的差别还是挺大的,因为对python的语法不太了解,导致以js的语法规则来写python语句,有点费神,哈哈哈,不过最终搞明白了一般。

这里只是用python的PIL库来进行图像处理,收获颇多。

安装PIL,命令行直接pip install PIL是有问题的,python2.7以后已经用pillow来代替PIL了,所以。。。

这里是python的代码:

# coding=utf-8
from PIL import Image
import os


def img_to_gray(file_path):
    return Image.open(file_path).convert("L")# PIL的图片格式转换


def calc_avg_gray(path):
    img = Image.open(path).convert("L")
    width, height, sum = img.size[0], img.size[1], 0
    for i in range(width):
        for j in range(height):
            sum += img.getpixel((i, j))
    return int(sum / (width * height))  # 计算图片的平均值,取整


path = os.path.abspath('.') + "\imgs\\"
files = os.listdir(path)
for file in files:
    _path = path + file
    print("图片:" + _path, ", 灰度值:%d" % calc_avg_gray(_path))

项目目录结构如下:

python-小试牛刀_python

运行结果如下:

python-小试牛刀_灰度值_02

标签:PIL,img,python,灰度,file,path,小试牛刀
From: https://blog.51cto.com/u_16159492/6481509

相关文章

  • Ubuntu安装Python 3.10
    更新系统的软件包列表和软件包:sudoaptupdatesudoaptupgrade安装构建Python3.10所需的依赖项:sudoaptinstallbuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibsqlite3-devlibreadline-devlibffi-devcurllibbz2-dev下载Python3.10......
  • python读取文件——python读取和保存mat文件
      首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法:图片大小的问题。在LaTeX中我们可以调整图片的大小,以适应整个文本;字体,字号大小的设置。在MarkDown里面标题倒是......
  • python基础知识——字符串
    1、字符串的格式化python将若干值插入到带有“%”标记的字符串中,实现动态地输出字符串。格式:"%s"%str"%s%s"%(str_1,str_2)例如:str_0="I"str_1="Love"str_2="China"format="%s%s%s"%(str_0,str_1,str_2)printformat#ILoveChi......
  • python基础知识——内置数据结构(集合)
    python中的set是指一系列无序元素的集合,其中的元素都是相异的,常见的操作包括集合的并集,交集和补集等操作。1、set的创建格式set_name={value1,value2,...}创建空的集合set_name=set()注意:在创建空的集合的时候不能使用set_name={}这样创建出来的是字典。例如animals......
  • python模块导入顺序; py文件命名注意
    1先从内存中查找2再从内置模块中查找3再从python解释器系统中key为path的环境变量中从上往下查找,找到一个就结束. 都没找到则报错.  py文件命名注意:不要与内置模块名冲突.......
  • 【python基础】函数-初识函数
    函数是带名字的代码块,用于完成具体的工作,无需反复编写完成该工作的代码。之前我们接触过print函数,数据类型转换中的int函数、str函数,还有列表中的append函数、pop函数、remove函数,以及字典中的keys函数、values函数等等,其实在正式学习函数之前,我们已经接触了函数,只不过没有接触过......
  • GPU-aware MPI + Python GPU arrays
     condainstall-cconda-forgempi4pyopenmpi  ForLinux64,OpenMPIisbuiltwithCUDAawarenessbutthissupportisdisabledbydefault.Toenableit,pleasesettheenvironmentalvariableOMPI_MCA_opal_cuda_support=truebeforelaunchingyourMPIproc......
  • python基础知识——内置数据结构(字典)
      字典是有“键-值”对组成的集合,字典中的“值”通过“键”来引用。“键-值”对之间用逗号隔开,并且被包含在一对花括号中。1、字典的创建格式dictionary_name={key1:value1,key2:value2,...}创建空的字典dictionary_name={}例如dict={'b':'beijing','s':......
  • python基础知识——函数
    函数其实就是一段可以多次调用的代码。1、函数的定义格式def函数名(参数1[=默认值1],参数2[=默认值2],...):...return表达式函数名的命名规则:函数名可以是字母、数字或下划线组成的字符串,但是不能以数字开头。例如加法操作:defaddFunc(x,y):returnx+......
  • python基础知识——基本语法
    在python基础知识这个系列中,准备罗列出我学习python的一些基础知识,包括:基本语法控制语句内置数据结构模块和函数字符串文件处理面向对象异常处理以前写机器学习算法喜欢使用Matlab语言,接触python后,觉得python有很多地方还是比Matlab方便点,各有各的优势吧,在公司还是......