文档章节

灰度值线性变换

o
 osc_x4h57ch8
发布于 2018/04/24 11:32
字数 265
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

原理

假设输入图像为I,宽为W、高为H,输出图像记为O,图像的线性变换可以利用以下公式定义: $$O(r,c) = a*I(r,c) + b, 0 \leq r< H, 0 \leq c < W$$ 当a=1,b=0时,O为I的一个副本;如果a>1,则输出图像O的对比度比I有所增大;如果a<1,则O的对比度比I有所 减小。 而b值的改变,影响的是输出图像的亮度,当b>0时,亮度增加; 当b<0时,亮度减小。

代码

# !/usr/bin/env python
# -*-encoding: utf-8-*-
# author:LiYanwei
# version:0.1


import cv2
import numpy as np

if __name__ =="__main__":
    image = cv2.imread('img1.jpg', cv2.IMREAD_GRAYSCALE)
    MAX_VALUE = 120
    value = 120

    #调整对比度后,图像的效果显示窗口
    cv2.namedWindow("contrast",cv2.WND_PROP_AUTOSIZE)

    #调整系数,观察图像的变化
    def callback_contrast(_value):
        #通过线性运算,调整图像对比度
        a = float(_value)/40.0
        contrastImage = a*image
        contrastImage[contrastImage > 255] = 255
        contrastImage = np.round(contrastImage)
        contrastImage = contrastImage.astype(np.uint8)
        cv2.imshow("contrast", contrastImage)
        cv2.imwrite("contrast.jpg", contrastImage)

    callback_contrast(value)
    cv2.createTrackbar("value", "contrast", value, MAX_VALUE, callback_contrast)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

【软件工具篇02】使用Anki克服遗忘曲线

使用Anki克服遗忘曲线 艾宾浩斯遗忘曲线 百度百科:遗忘曲线由德国心理学家艾宾浩斯研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗...

osc_wobxrheh
2分钟前
0
0
面向对象的理解

面向对象的三大特性 封装 继承 多态 面向对象的七大原则 单一职责原则:每一个类应该专注于做一件事情。即高内聚,低耦合。类的功能要单一,体积不要过于庞大。 开闭原则:一个对象对扩展开发...

osc_2wq8ft8d
3分钟前
0
0
Laravel Redis分布式锁实现源码分析

首先是锁的抽象类,定义了继承的类必须实现加锁、释放锁、返回锁拥有者的方法。 namespace Illuminate\Cache;abstract class Lock implements LockContract{ use InteractsWithTime;...

osc_2jegjdnw
5分钟前
0
0
【HDFS篇03】HDFS客户端操作 --- 开发环境准备

存储越困难,提取越容易 HDFS客户端操作---开发环境准备 步骤一:编译对应HadoopJar包,配置Hadoop变量 步骤二:创建Maven工程,导入pom依赖 <dependencies><dependency><groupId>ju...

osc_ds5ni1ur
6分钟前
0
0
老板,来瓶辣椒酱

最近网剧《隐秘的角落》非常的火爆,结局反转让人难以预料,但前两天发生了一场堪比史诗级大片的纠纷,纠纷的结局反转让人大跌眼镜,估计是神编剧都写不出来那样的剧本...而引发这场纠纷最核...

osc_1loi8uc4
8分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部