Python实现计算图像RGB均值方式


Posted in Python onJune 04, 2020

要求

存在一个文件夹内有若干张图像,需要计算每张图片的RGB均值,并计算全部图像的RGB均值。

代码

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 1 10:43:29 2018
@author: Administrator
"""
import os
import cv2
import numpy as np
 
path = 'C:/Users/Administrator/Desktop/rgb'
def compute(path):
  file_names = os.listdir(path)
  per_image_Rmean = []
  per_image_Gmean = []
  per_image_Bmean = []
  for file_name in file_names:
    img = cv2.imread(os.path.join(path, file_name), 1)
    per_image_Bmean.append(np.mean(img[:,:,0]))
    per_image_Gmean.append(np.mean(img[:,:,1]))
    per_image_Rmean.append(np.mean(img[:,:,2]))
  R_mean = np.mean(per_image_Rmean)
  G_mean = np.mean(per_image_Gmean)
  B_mean = np.mean(per_image_Bmean)
  return R_mean, G_mean, B_mean
 
if __name__ == '__main__':
  R, G, B= compute(path)
  print(R, G ,B)

这里需要注意cv2.imread()读取顺序为BGR问题。

注意

路径不能出现中文,不然容易出错。

错误如下:

TypeError: 'NoneType' object is not subscriptable

结果

Python实现计算图像RGB均值方式

补充知识:Image得到图片像素的RGB

我就废话不多说了,大家还是直接看代码吧!

from PIL import Image
image = Image.open('./3.png')
print(image)#查看mode是否等于RGB,
image_rgb = image.convert("RGB")
image_rgb.getcolors()

打印结果

<PIL.PngImagePlugin.PngImageFile image mode=P size=500x332 at 0x7F53383FADA0>

[(10990, (192, 0, 128)),#10990表示像素总数,(192, 0, 128)表示RGB值
 (7589, (224, 224, 192)),
 (5706, (192, 128, 128)),
 (3913, (0, 64, 0)),
 (137802, (0, 0, 0))]

以上这篇Python实现计算图像RGB均值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
Python实现LRU算法的2种方法
Jun 24 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
Python常见字典内建函数用法示例
May 14 Python
python基础梳理(一)(推荐)
Apr 06 Python
python创建学生成绩管理系统
Nov 22 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
python中列表的含义及用法
May 26 Python
简单谈谈Python面向对象的相关知识
Jun 28 Python
python 字典和列表嵌套用法详解
Jun 29 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 #Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 #Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 #Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 #Python
Python使用Matlab命令过程解析
Jun 04 #Python
Python flask框架端口失效解决方案
Jun 04 #Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 #Python
You might like
德劲1107的电路分析与打磨
2021/03/02 无线电
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
laravel model 两表联查示例
2019/10/24 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
jquery动态添加option示例
2013/12/30 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
微信小程序 开发指南详解
2016/09/27 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Linux下多个Python版本安装教程
2018/08/15 Python
Python 串口读写的实现方法
2019/06/12 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
体育课课后反思
2014/04/24 职场文书
详解JVM系列之内存模型
2021/06/10 Javascript
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript