1,判断图像清晰度,明暗,

原理,Laplacian算法。偏暗的图片,二阶导数小,区域变化小;偏亮的图片,二阶导数大,区域变化快。

import cv2

def getImageVar(imgPath):

image = cv2.imread(imgPath)

img2gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

imageVar = cv2.Laplacian(img2gray, cv2.CV_64F).var()

return imageVar

imageVar = getImageVar("./lena.jpg")

print(imageVar)

输出结果:

2119.0913581351697

2,判断黑白或彩色图片

原理,通道变化

def is_color_image(url):

im=Image.open(url)

pix=im.convert('RGB')

width=im.size[0]

height=im.size[1]

oimage_color_type="Grey Image"

is_color=[]

for x in range(width):

for y in range(height):

r,g,b=pix.getpixel((x,y))

r=int(r)

g=int(g)

b=int(b)

if (r==g) and (g==b):

pass

else:

oimage_color_type='Color Image'

return oimage_color_type

补充知识:求图片的平均亮度

图像相关开发中,有时我们需要知道和了解图片的 亮度 这一信息,例如判断图片是否曝光严重过度或者太黑什么都看不清。

那么怎么去获取到图片的 平均亮度 这一信息呢?

一、YUV 图片

一般相机的原始数据类型就是 YUV 格式,这种格式下很容易求得亮度,因为它的 Y 通道就是亮度通道,我们只需要求得 Y 通道的平均值就可以了。

由于 YUV 图片前 width * height 个字节存放的就是 Y 的值,所以其均值计算如下:

void calculate_average_brightness(const unsigned char* image, const int width, const int height, double* brightness) {

int length = width * height;

double sum;

for (int i = 0; i < length; ++i) {

sum += image[i];

}

brightness = sum / length; // brightness value: [0, 255]

}

注意这样计算得到的亮度值范围为 0~255,如果要归一化的话,再除以 255 即可。

二、RGB 图片

RGB 图片的计算理论和上述差不多,不过我们需要先求得 R、G、B 三个通道的均值。

RGB 图片的亮度计算公式为:

Y = 0.299 * R + 0.587 * G + 0.114 * B ​

以上这篇python 图像判断,清晰度(明暗),彩色与黑白实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python图像清晰度_python 图像判断,清晰度(明暗),彩色与黑白实例相关推荐

  1. python图像对比度增强图片清晰度_Python 图像对比度增强的几种方法(小结)

    图像处理工具--灰度直方图 灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率. 例子:矩阵 图片来自网络,侵删! 上面图片的灰度直方图 python实现 #!usr/b ...

  2. python 傅立叶函数_python 图像的离散傅立叶变换实例

    图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有 ...

  3. python图像几何变换_python 图像工具opencv3实例(对象识别和增强现实)1-图像几何转换...

    安装OpenCV-Python安装 本教程基于python3,ubuntu 16,在windows环境可能可以运行. Linux#!pythonpip3 install opencv-python W ...

  4. python进行图像滤波_Python图像滤波处理操作示例【基于ImageFilter类】

    本文实例讲述了Python图像滤波处理操作.分享给大家供大家参考,具体如下: 在图像处理中,经常需要对图像进行平滑.锐化.边界增强等滤波处理.在使用PIL图像处理库时,我们通过Image类中的成员函数 ...

  5. python浮雕图片_python图像数据增强——imgaug (二)

    在这章我们展示一个涵盖了大部分数据增强方法的例子.这里有大量的代码,可能会引起部分读者的不适,但是大家可以主要看注释,以及最后的总结性的话语,在实际上使用的时候再详细的看具体的实现,有一些.from ...

  6. python动态图像设计_Python图像PIL设计和GIF动图

    1.GIF文件图像提取: 对一个GIF格式动态文件,提取其中各帧图像,并保存为文件. 1 from PIL importImage2 3 im = Image.open('棒棒哒.gif') #读入一 ...

  7. python语句结束符_python中判断文件结束符的具体方法

    python中判断文件结束符的方法:可以使用try except语句块来进行判断. 具体使用方法:[try:while True:s = input() except EOFError: pass]. ...

  8. python合法标识符_Python isidentifier()判断是否为Python的合法标识符

    Python中isidentifier()函数的作用是检查一个字符串是否是Python有效的标识符. 一.标识符命名规则 标识符是用来定义Python中的变量.类.函数名称.模块名称以及Python中 ...

  9. python且条件_Python条件判断语句 if

    程序在一般情况下是按顺序执行的,就像流水账一样,一条一条从上往下顺序执行. 有时候我们需要根据条件来有选择地执行某些语句,这就要使用到Python的条件判断语句--if. 我们可以通过下图来简单了解条 ...

最新文章

  1. 软件测试工程师-Linux介绍、命令
  2. 靠信用购物!芝麻信用上线新功能:用户可先用后买
  3. 2684 亿背后的虚拟化技术:双 11 All on 神龙 | 问底中国 IT 技术演进
  4. ASP.NET读取XML文件
  5. 将excel转换为Xml
  6. 【经典箴言 || 人生感悟 】//wodeganwu3034 == 8. 回溯做过的事情,如Review自己曾经写过的代码或者设计,思考为什么会这么做,有没有更好的方法==
  7. 微软的补丁服务器,Microsoft 安全公告 MS17-010 - 严重
  8. C语言字符串转16进制
  9. 作为IT码农,我是如何给小孩取名字的(推荐收藏,总有需要的一天)
  10. 各种语言如何连接到 OceanBase
  11. matlab2014 锯齿波,matlab周期锯齿波
  12. 圆面积计算公式,这样理解起来超简单!
  13. flume 对接 kafka 报错: Error while fetching metadata with correlation id 35 {=INVALID_TOPIC_EXCEPTION}
  14. Tableau使用笔记
  15. 2020有道翻译 使用付费api
  16. android 城市列表
  17. android 图片占用内存大小及加载解析
  18. python学习笔记(二十三) -- 多进程和多线程
  19. USB摄像机方案汇总分析,好东西都不为人知。
  20. 基于Java Web的汽车租赁系统的设计与实现

热门文章

  1. 红米airdots掉了怎么查找_百元性价比之选,众筹只需79元的红米airdots2首发体验...
  2. SAP中利润中心清单输出请求处理实例
  3. viewpager禁止左右滑动
  4. HITCSAPP大作业 2021 春
  5. 移动端开发,苹果手机样式乱,iphon7不支持white-space属性,控制显示几行
  6. 如何获得你的准确位置及iphon手机应用定位不准确原因分析
  7. MT4跟单软件更新至v4.23.0——HOOKSWORK多帐户跨平台
  8. 我博士科研经历中的经验和教训
  9. 酵母馒头 PK 老面馒头
  10. 参考行标对云效以及LinKE的“持续交付”及“敏捷开发管理”能力打了下分,大家看肿么样?