这里有一个非常数学和直接的方法来调整亮度和对比度作为参数。对比度控制输出值与输入值绘图中直线方程的斜率。截距取决于亮度和对比度。亮度控制直线坡度的轴点,以便所需结果越亮,轴点越高。这里的代码提供了bri和con参数,这些参数可以在-100到100范围内更改,但是限制了这样就不能反转对比度。值bri=0和con=-100将使图像饱和度降低,使其完全处于中灰色。值bri=100和con=-100将生成纯白色图像。同样,bri=-100和con=-100将生成纯黑色图像。所以bri和con的值就像百分比变化。因此,bri=0和con=0与输入没有变化。在

输入:

import cv2

import numpy as np

import math

# load image with alpha channel

img = cv2.imread('lena.png')

# define desired brightness and contrast change values

bri = 20

con = 20

# compute slope and intercept

diffcon = (100 - con)

if diffcon <= 0.1: con=99.9

arg = math.pi * (((con * con) / 20000) + (3 * con / 200)) / 4

slope = 1 + (math.sin(arg) / math.cos(arg))

if slope < 0: slope=0

pivot = (100 - bri) / 200

intcpbri = bri / 100

intcpcon = pivot * (1 - slope)

intercept = (intcpbri + intcpcon)

# print slope and intercept

print(slope, intercept)

# apply slope and intercept

img = img/255.0

out = slope * img + intercept

out[out>1] = 1

out[out<0] = 0

# display IN and OUT images

cv2.imshow('IN', img)

cv2.imshow('OUT', out)

cv2.waitKey(0)

cv2.destroyAllWindows()

# save output image

out = 255.0 * out

out = out.astype(int)

cv2.imwrite('lena_bc_20_20.png', out)

python opencv图像对比度_Python OpenCV cv2使图像亮度和对比度提高100%的简单方法相关推荐

  1. mac系统python读取文件路径_Python小技巧:3个处理文件路径的简单方法

    原标题 | Python 3 Quick Tip: The easy way to deal with file paths on Windows, Mac and Linux 作者 | Adam G ...

  2. python opencv 读取图片_Python opencv 读取图像

    对于 matlab 起家做数字图像处理的人来讲都非常适应matlab对图像处理的操作和思路,尤其是它可以非常方便直观的看到图像的RGB值. 由于最近在研究深度学习的计算机视觉方面的东西,于是完全自学接 ...

  3. opencv python 直方图反向投影_python OpenCV学习笔记直方图反向投影的实现

    本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下: 它用于图像分割或寻找图像中感兴趣的对象.简单地说,它创建一个与我们的输入图像相同大小(但单通道)的图像,其中每 ...

  4. pythonopencv图像形态_python+opencv图像形态学处理详细解释(膨胀、腐蚀、开闭运算、礼帽和黑猫)...

    python+opencv图像形态学处理 本篇博客主要是关于形态学中的腐蚀.膨胀.开运算.闭运算.礼帽和黑帽的函数用法. 内容会比较,为方便查阅.代码的解释会写在代码中. 用于测试的图像原图: 一.腐 ...

  5. python控制摄像头拍照_python+opencv+pyqt5控制摄像头在Qlabel上显示

    import cv2 import numpy as numpy from PIL import * import sys from PyQt5.QtWidgets import * from PyQ ...

  6. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  7. pythonopencv图像形态_Python+OpenCV图像处理之其他形态学操作

    顶帽(Top Hat): 原图像与开操作之间的差值图像,突出原图像中比周围亮的区域 黑帽(Black Hat): 闭操作图像与原图像的差值图像, 突出原图像中比周围暗的区域 形态学梯度(Gradien ...

  8. python切割图片文字_Python+opencv 实现图片文字的分割的方法示例

    Python+opencv 实现图片文字的分割的方法示例 发布时间:2020-08-26 03:28:37 来源:脚本之家 阅读:116 作者:坏小孩90 实现步骤: 1.通过水平投影对图形进行水平分 ...

  9. python ocr 识别车牌_python+opencv+TESSERT-OCR实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别 开学花了十天时间0基础搞出来的,分享给大家,如果有什么错误希望大家给我指正.python师从小甲鱼,opencv师从贾志刚,B站 ...

最新文章

  1. 双系统 win10 时间不对
  2. python【蓝桥杯vip练习题库】ADV-272 change(思维)
  3. arduino上ESP8266用Adafruit_SSD1306库驱动OLED屏
  4. Dapr牵手.NET学习笔记:绑定
  5. 一种父线程阻塞等待子线程的有效方法
  6. 欧几里得与扩展欧几里得总结
  7. 状态机-面向对象编程
  8. 使用XMLHttpRequest实现AJAX
  9. macos php开发环境,macOS 10.13 High Sierra PHP开发环境配置
  10. 【Vue学习】—Vue UI组件库(二十八)
  11. springboot mybatis整合
  12. putty连接linux设置文件夹,【整理】Windows用ssh连接Linux,想要从Linux上面上传/下载文件 - putty的子工具psftp...
  13. 服务器自带软件怎么样卸载,如何安装和卸载远程服务器管理工具
  14. eNSP初学者配置以太网2种链路端口:access、trunk
  15. 平肝息风药题库【1】
  16. Vue 运行提示“没有注册类”的解决办法
  17. C# 写的棋牌类游戏(全源码)。
  18. 思科网络设备安装与调试——帧中继云配置
  19. 用html5做心,HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
  20. HTML+JS 前端雪花飘落

热门文章

  1. (Linux)JupyterLab安装anaconda+虚拟环境创建
  2. ABB机械臂乱弹1-ABB机器人选项功能
  3. DRR(Digitally Reconstructured Radiograph)在医学影像处理的应用
  4. 个人博客搭建之路(b3log solo)
  5. 【P1379】 八数码难题
  6. fread,fwrite数据写磁盘流程|fflush--linux编程写文件注意问题(fwrite没有直接写入文件)
  7. Mysql进阶(上) -- 存储引擎,索引
  8. 并发编程的15 条建议
  9. 【Notepad++】解决notepad打开大文件后卡住的问题
  10. 四川宜宾公交自燃 19岁小伙抵住车门救人