zoukankan      html  css  js  c++  java
  • 【图像处理】如何改变图像的曲线?

    改变图像的曲线是一个非常有用的功能,曲线的功能可以实现如下效果:

    1. 改变对比度,通过将曲线黑端拉低,白端拉高即可;

    2.改变亮度, 通过将曲线拉高,可以增加图像的亮度;

    2.改变色相,比如,仅仅提升红色像素的亮度,可以使图像看起来偏红。


    但是如何实现呢??

    由于曲线是平滑的,我们可以用一个二次函数来实现:

    公式为 : y = x+k - k*( (x-a2)/(a3-a2) )^2 ; 

     其中 a2 为a1 与 a2 的中心点; -a2<K<255-a2; K为负值时, 使像素变暗, 反之使其变亮


    例1: 增加亮度

    K=20, a1设为0 , a3 设为255, 那么a2 就为127 了



    例2: 增加对比度

    k = -20 , a1 = 0  a3= 128     0<=x<128

    k = 20 , a1 = 128  a3= 255     128<=x<=255

    例3 : 改变色相

    对红色通道执行例1就行了



    如图,为增加a1 至 a3 的 亮度 



  • 相关阅读:
    阅读《构建之法》1-5章
    构建之法第8,9,10章
    实验5-封装与测试2
    第六次作业-my Backlog
    保存内容
    实验四-单元测试
    实验3—修改版
    做汉堡-57号
    实验3-2
    201306114357-实验3-C语言
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219316.html
Copyright © 2011-2022 走看看