matlab 伽马校正曲线,【图像处理知识复习】02伽马校正matlab,C++实现

matlab 伽马校正曲线,【图像处理知识复习】02伽马校正matlab,C++实现1.背景:伽马校正可以用来调整图像的亮度,公式为I=I^gamma。当gamma>1,高光部分动态范围被压缩,低光部分动态范围被扩展(使低光部分的细节可以看清),图像整体变暗;当gamma<1,高光部分被扩展,低光部分被压缩,图像整体变亮。如图:2.matlab代码:clc;clear;gamma=0.3;img=imread(‘D:/Code/Image/half…


Jetbrains全系列IDE稳定放心使用

1. 背景:

伽马校正可以用来调整图像的亮度,公式为 I = I^gamma。

当gamma>1,高光部分动态范围被压缩,低光部分动态范围被扩展(使低光部分的细节可以看清),图像整体变暗;

当gamma<1,高光部分被扩展,低光部分被压缩,图像整体变亮。

如图:

3c4625570b04038ab7566de2b2ce16fa.png

2. matlab代码:

clc;

clear;

gamma = 0.3;

img = imread(‘D:/Code/Image/half.jpg’);

img = rgb2gray(img);

figure,imshow(img);

img = double(img);

[row,col] = size(img);

new_img = zeros(row,col);

for i = 1:row

for j = 1:col

new_img(i,j) = img(i,j).^gamma;

end

end

new_img = mat2gray(new_img);

figure,imshow(new_img);

效果如下,gamma设置为0.3,低光部分动态范围扩大:

046f30e3647a4b65f1ec71dbb9f248d6.png

3. C++代码:

#include using namespace cv;

int main()

{

Mat img = imread(“D:/Code/Image/half.jpg”,0);

imshow(“原始图”, img);

Mat newImg = Mat::zeros(img.size(), img.type());

for (int i = 0; i < img.rows; i++)

{

for (int j = 0; j < img.cols; j++)

{

newImg.at(i, j) = pow(img.at(i, j)/255.0, 0.3)*255.0; //[0,1]才会有gamma特性,0.2^0.3 == 0.6

}

}

imshow(“效果图”, newImg);

waitKey(0);

return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189921.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NV21 旋转+转为NV12

    NV21 旋转+转为NV12yuv420sp的分两种,nv21和nv12。Android取摄像头中的数据,当使用camera1.0时,onPreviewFrame返回的数据yuv420sp的nv21,并且camera中取出的数据显示时是偏转的,需要将其旋转顺时针旋转270或逆时针旋转90,注:旋转后宽高对调/***此处为顺时针旋转270*@paramdata旋转前的数据*@paramima…

    2022年9月2日
  • 西班牙语欧盟语言标准c1,西班牙语级别如何划分?

    西班牙语欧盟语言标准c1,西班牙语级别如何划分?西班牙语根据欧洲共同语言参考标准分为:A1,A2,B1,B2,C1,C2六个级别。A1,A2为基础入门级别,B1,B2为高级进阶级别,C1,C2为流利进阶级别。《欧洲语言学习统一标准》(Cadreeuropéencommunderéférencepourleslangues),简称”欧标”。是欧洲议会在2001年11月通过的一套建议标准,为欧洲语言在评量架构和教学指…

    2022年6月7日
  • tomcat面试题

    tomcat面试题1.tomcat给你你怎样去调优?1.JVM参数调优:-Xms表示JVM初始化堆的大小,-Xmx表示JVM堆的最大值。这两个值的大小一般根据需要进行设置。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。在catalina.bat中,设置JAVA_OPTS=’-Xms256m-Xmx512m’,表示

    2022年6月7日
  • python获取财务数据_「净利润增长率」使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据 – seo实验室…

    python获取财务数据_「净利润增长率」使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据 – seo实验室…净利润增长率证券宝www.baostock.com是一个免费、开源的证券数据平台。提供大量准确、完整的证券历史行情数据、上市公司财务数据、实时证券行情推送服务等。通过PythonAPI获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。本次介绍接口:获取季频成长能力数据:query_growth_data()(以下代码来自官网,侵删)方法说明:查询季频成长能力信息,可…

    2022年10月24日
  • 基于keras的双层LSTM网络和双向LSTM网络

    基于keras的双层LSTM网络和双向LSTM网络1前言基于keras的双层LSTM网络和双向LSTM网络中,都会用到LSTM层,主要参数如下:LSTM(units,input_shape,return_sequences=False)units:隐藏层神经元个数 input_shape=(time_step,input_feature):time_step是序列递归的步数,input_feature是输入特征维数 re…

    2022年6月17日
  • 【错误记录】FFmpeg 推流报错 ( FLV does not support sample rate 8000, choose from (44100, 22050, 11025) )「建议收藏」

    【错误记录】FFmpeg 推流报错 ( FLV does not support sample rate 8000, choose from (44100, 22050, 11025) )「建议收藏」[flv@0xe9e24600]FLVdoesnotsupportsamplerate8000,choosefrom(44100,22050,11025)[flv@0xe9e24600]Audiocodecmp3notcompatiblewithflv

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号