python图像清晰度_python 图像判断,清晰度(明暗),彩色与黑白实例
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 图像判断,清晰度(明暗),彩色与黑白实例相关推荐
- python图像对比度增强图片清晰度_Python 图像对比度增强的几种方法(小结)
图像处理工具--灰度直方图 灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率. 例子:矩阵 图片来自网络,侵删! 上面图片的灰度直方图 python实现 #!usr/b ...
- python 傅立叶函数_python 图像的离散傅立叶变换实例
图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有 ...
- python图像几何变换_python 图像工具opencv3实例(对象识别和增强现实)1-图像几何转换...
安装OpenCV-Python安装 本教程基于python3,ubuntu 16,在windows环境可能可以运行. Linux#!pythonpip3 install opencv-python W ...
- python进行图像滤波_Python图像滤波处理操作示例【基于ImageFilter类】
本文实例讲述了Python图像滤波处理操作.分享给大家供大家参考,具体如下: 在图像处理中,经常需要对图像进行平滑.锐化.边界增强等滤波处理.在使用PIL图像处理库时,我们通过Image类中的成员函数 ...
- python浮雕图片_python图像数据增强——imgaug (二)
在这章我们展示一个涵盖了大部分数据增强方法的例子.这里有大量的代码,可能会引起部分读者的不适,但是大家可以主要看注释,以及最后的总结性的话语,在实际上使用的时候再详细的看具体的实现,有一些.from ...
- python动态图像设计_Python图像PIL设计和GIF动图
1.GIF文件图像提取: 对一个GIF格式动态文件,提取其中各帧图像,并保存为文件. 1 from PIL importImage2 3 im = Image.open('棒棒哒.gif') #读入一 ...
- python语句结束符_python中判断文件结束符的具体方法
python中判断文件结束符的方法:可以使用try except语句块来进行判断. 具体使用方法:[try:while True:s = input() except EOFError: pass]. ...
- python合法标识符_Python isidentifier()判断是否为Python的合法标识符
Python中isidentifier()函数的作用是检查一个字符串是否是Python有效的标识符. 一.标识符命名规则 标识符是用来定义Python中的变量.类.函数名称.模块名称以及Python中 ...
- python且条件_Python条件判断语句 if
程序在一般情况下是按顺序执行的,就像流水账一样,一条一条从上往下顺序执行. 有时候我们需要根据条件来有选择地执行某些语句,这就要使用到Python的条件判断语句--if. 我们可以通过下图来简单了解条 ...
最新文章
- 软件测试工程师-Linux介绍、命令
- 靠信用购物!芝麻信用上线新功能:用户可先用后买
- 2684 亿背后的虚拟化技术:双 11 All on 神龙 | 问底中国 IT 技术演进
- ASP.NET读取XML文件
- 将excel转换为Xml
- 【经典箴言 || 人生感悟 】//wodeganwu3034 == 8. 回溯做过的事情,如Review自己曾经写过的代码或者设计,思考为什么会这么做,有没有更好的方法==
- 微软的补丁服务器,Microsoft 安全公告 MS17-010 - 严重
- C语言字符串转16进制
- 作为IT码农,我是如何给小孩取名字的(推荐收藏,总有需要的一天)
- 各种语言如何连接到 OceanBase
- matlab2014 锯齿波,matlab周期锯齿波
- 圆面积计算公式,这样理解起来超简单!
- flume 对接 kafka 报错: Error while fetching metadata with correlation id 35 {=INVALID_TOPIC_EXCEPTION}
- Tableau使用笔记
- 2020有道翻译 使用付费api
- android 城市列表
- android 图片占用内存大小及加载解析
- python学习笔记(二十三) -- 多进程和多线程
- USB摄像机方案汇总分析,好东西都不为人知。
- 基于Java Web的汽车租赁系统的设计与实现
热门文章
- 红米airdots掉了怎么查找_百元性价比之选,众筹只需79元的红米airdots2首发体验...
- SAP中利润中心清单输出请求处理实例
- viewpager禁止左右滑动
- HITCSAPP大作业 2021 春
- 移动端开发,苹果手机样式乱,iphon7不支持white-space属性,控制显示几行
- 如何获得你的准确位置及iphon手机应用定位不准确原因分析
- MT4跟单软件更新至v4.23.0——HOOKSWORK多帐户跨平台
- 我博士科研经历中的经验和教训
- 酵母馒头 PK 老面馒头
- 参考行标对云效以及LinKE的“持续交付”及“敏捷开发管理”能力打了下分,大家看肿么样?