文档章节

OpenCV图像亮度、对比度调节

moki_oschina
 moki_oschina
发布于 2016/04/09 00:25
字数 261
阅读 74
收藏 0
#include "cv.h"    

#include "highgui.h"    

#include <stdio.h>    

int ImageAdjust(IplImage *src,IplImage *dst,    

                double low,double high,        //x direction    

                double bottom,double top,    //y direction    

                double gamma);    

int main(void)    

{    

    char *filename="lena.jpg";    

    IplImage *dst,*src = /blog.armyourlife.info/cvLoadImage(filename,0);    

    if(!src)    

    {    

        printf("Couldn't seem to Open %s, sorry/n",filename);    

        return -1;    

    }    

       

  cvNamedWindow( "src", 1 );    

    cvNamedWindow( "result", 1 );    

       

    // Image adjust    

    dst = cvCloneImage(src);    

    // 输入参数 [0,0.5] 和 [0.5,1], gamma=1    

    if( ImageAdjust( src, dst, 0, 0.5, 0.5, 1, 1)!=0)    

        return -1;    

       

    cvShowImage( "src", src );    

    cvShowImage( "result", dst );    

    cvWaitKey(0);    

    cvDestroyWindow("src");    

    cvDestroyWindow("result");    

    cvReleaseImage( &src );    

    cvReleaseImage( &dst );    

       

    return 0;    

}    

int ImageAdjust(IplImage* src, IplImage* dst,    

        double low, double high,   // X方向:low and high are the intensities of src    

        double bottom, double top, // Y方向:mapped to bottom and top of dst    

        double gamma )    

{    

    double low2 = low*255;    

    double high2 = high*255;    

    double bottom2 = bottom*255;    

    double top2 = top*255;    

    double err_in = high2 - low2;    

    double err_out = top2 - bottom2;    

    int x,y;    

    double val;    

    if(low<0 && low>1 && high <0 && high>1&&    

    bottom<0 && bottom>1 && top<0 && top>1 && low>high)    

        return -1;    

      // intensity transform    

    for( y = 0; y < src->height; y++)    

    {    

        for (x = 0; x < src->width; x++)    

        {    

            val = ((uchar*)(src->imageData + src->widthStep*y))[x];    

            val=pow((val - low2)/err_in, gamma)*err_out+bottom2;    

            if(val>255)    

                val=255;    

            if(val<0)    

                val=0; // Make sure src is in the range [low,high]    

            ((uchar*)(dst->imageData + dst->widthStep*y))[x] = (uchar) val;    

        }    

    }    

    return 0;    

}

本文转载自:http://blog.csdn.net/augusdi/article/details/8865709

moki_oschina
粉丝 26
博文 202
码字总数 44864
作品 0
成都
程序员
私信 提问
NDK使用OpenCV2.4.2本地代码

本文讲述Android NDK中使用OpenCV2.4.2的详细过程(不使用OpenCV的java封装) 1. 前期准备: a. 下载 opencv-android-sdk,解压;(或者可以从OpenCV源代码自己编译,先设置ANDROIDNDK变量,然...

TinkerS
2012/09/26
0
0
数据科学和人工智能技术笔记 四、图像预处理

四、图像预处理 作者:Chris Albon 译者:飞龙 协议:CC BY-NC-SA 4.0 图像二值化 图像模糊 图像剪裁 边缘检测 增强彩色图像的对比度 增强灰度图像的对比度 Harris 角点检测 Harris 角点检测...

ApacheCN_飞龙
2018/11/10
0
0
[Python图像处理] 十五.图像的灰度线性变换

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/88858696 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
03/28
0
0
[Python图像处理] 五.图像融合、加法运算及图像类型转换

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/82347501 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
2018/09/03
0
0
【Learning OpenCV with iOS】(四) 图像亮度和对比度

一、前言 上一篇我们讲解了OpenCV的图像混合与ROI。本篇主要向大家介绍下图像变换的调整亮度和对比度。按惯例,先来一张效果图。 二、图像变换 算子 一般的图像处理算子都是一个函数,它接受...

CatchZeng
2018/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聚合与组合的关系

作者总结的很好 http://www.360doc.com/content/07/0612/11/16903_553244.shtml

南桥北木
6分钟前
0
0
好程序员web前端分享DIV+CSS3和html5+CSS3有什么区别

好程序员web前端分享DIV+CSS3和html5+CSS3有什么区别,不管是DIV+CSS3还是html5+CSS3,他们都是我们对网页开发布局方式的统称,但是DIV+CSS3作为网页的基础开发这句话其实并不严谨,因为而d...

好程序员IT
11分钟前
0
0
比特币应用开发10大必备NuGet包

如果要在.NET环境下开发比特币应用,本文列出的10个NuGet开发包是你不可或缺的利器。 如果要快速掌握.NET平台下比特币的应用开发,推荐访问汇智网的课程: C#比特币开发详解 1、NBitcoin C#...

汇智网教程
12分钟前
0
0
Debian 10 Buster发布的新功能

Debian 10 Buster即将发布。第一个候选版本已经出局,我们应该会在几周内看到最终版本。 Debian 10 Buster发布时间表 Debian 10 Buster没有设定的发布日期。为什么会这样?与其他发行版不同,...

叫我甘道夫
23分钟前
2
0
从入侵到变现——“黑洞”下的黑帽SEO分析

概述 由于互联网入口流量主要被搜索引擎占据,网站在搜索引擎中的排名直接影响到市场营销效果,因此SEO服务应运而生。SEO(Search Engine Optimization)全称为搜索引擎优化,是指利用搜索引擎...

zhaowei121
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部