% function

LUT(GammaValue)

GammaValue=2

%生成查找表

for i=0:255

x=double(i);

correction=256*((x+0.5)/256)^(1/GammaValue)-0.5;

table(i+1)=uint8(correction);

end

%输出到mif

fid=fopen('gamma_correction.mif','w+');

fprintf(fid,'--GammaValue=M

\r\n',double(GammaValue));

fprintf(fid,'--%s.\r\n',datestr(now));

fprintf(fid,'%x\n',(table(1:256)))

fclose(fid)

%插值LUT 生成interp

for i=0:63

interp(1+i)=table(1+4*i)

end

fid=fopen('interpolation.mif','w+');

fprintf(fid,'--interpolation GammaValue=M

\r\n',double(GammaValue));

fprintf(fid,'--%s.\r\n',datestr(now));

fprintf(fid,'%x\n',(interp(1:64)));

%% load image

data=imread('1.jpg');

[sx,sy,sz]=size(data);

r=data(:,:,1);

g=data(:,:,2);

b=data(:,:,3);

%write R value to

r.mif

fid=fopen('r.mif','w+');

for i=1:sx

for

j=1:sy

fprintf(fid,'%d\n',r(i,j));

end

end

fclose(fid);

%write G value to

g.mif

fid=fopen('g.mif','w+');

for i=1:sx

for

j=1:sy

fprintf(fid,'%d\n',g(i,j));

end

end

fclose(fid);

%write B value to

b.mif

fid=fopen('b.mif','w+');

for i=1:sx

for

j=1:sy

fprintf(fid,'%d\n',b(i,j));

end

end

fclose(fid);

%% correcting

data_in=double(data);

[x,y,z]=size(data_in)

for i=1:x

for j=1:y

for k=1:z

temp=data_in(i,j,k);

m=rem(temp,4);

n=fix(temp/4);

if (n+2)>64

gamm(i,j,k)=interp(64);

else

switch m

case 0

gamm(i,j,k)=interp(n+1);

case 1

gamm(i,j,k)=0.75*interp(n+1)+0.25*interp(n+2);

case 2

gamm(i,j,k)=0.5*interp(n+1)+0.5*interp(n+2);

case

3

gamm(i,j,k)=0.25*interp(n+1)+0.75*interp(n+2);

end

end

%

t1=double((temp+0.5)/256);

%

t2=double(t1^(1/6.6));

%

t3=double(256*t2-0.5);

%

gamm(i,j,k)=uint8(t3);

end

end

end

pic=cat(2,data,gamm);

figure,imshow

(pic)

matlab里伽马校正的特点,查表法实现gamma校正的matlab仿真模型源码相关推荐

  1. 基于查表法的永磁同步电机MTPA-MTPV控制仿真模型,查表法,最大电流弱磁控制

    基于查表法的永磁同步电机MTPA-MTPV控制仿真模型,查表法,最大电流弱磁控制 永磁电机 基于查表法的永磁同步电机MTPA-MTPV控制仿真模型 电动汽车用永磁同步电机查表法控制Matlab 波形很 ...

  2. 基于查表法的电动汽车用永磁同步电机电驱驱动控制MATLAB仿真模型

    基于查表法的电动汽车用永磁同步电机电驱驱动控制MATLAB仿真模型 ID:9650668259905619tbNick_7oa1d

  3. LUT查表法乘法器所犯下错误。。。。

    程序参见黑金时序篇一章实验五LUT查表法实验,不同的是LUT我用了一个ROM来实现,word depth 256,word size 16,数据用matlab生成,发现matlab确实好强大,不用操作 ...

  4. STM32CUBEMX—查表法实现SPWM

    SPWM称为正弦波脉宽调制,其原理是采用三角波作为载波,正弦波作为调制波合成后生成的等高不等宽的PWM波.在simulink仿真中直接用三角波模块与sine wave合成即可,但对于编程来说比较麻烦, ...

  5. JAVA-初步认识-第五章-数组-常见操作-进制转换(查表法)

    一. 数组的常见应用 数组在开发中什么时候用? 举例说明: 需求:获取一个整数的十六进制表现形式(要明白十六进制的表现形式是什么样子,有数字有字母) 本来应该返回一个字符串,但是还没有学到返回字符串, ...

  6. FPGA如何利用查表法得到某角度所对应的正弦值、余弦值

    FPGA如何利用查表法得到某角度所对应的正弦值.余弦值 1 实现思路 2 具体实现步骤 2.1 MATLAB生成sin.coe文件和cos.coe文件 2.2 将sin.coe和cos.coe文件分别 ...

  7. 步进电机S(SigMoid)曲线加减速【查表法】

    首先感谢以下博客的博主提供的参考公式:https://blog.csdn.net/pengzhihui2012/article/details/52228822?locationNum=6 首先在本设 ...

  8. CRC冗余校验码及查表法

    CRC冗余校验码及查表法 什么是CRC编码 它将一个长度为k的位串看作是系数是0或者1的k-1次多项式 使用一个长度为r+1的生成多项式进行模2计算,生成一个长度为r的字符序列,能检测长度小于等于r的 ...

  9. 【Matlab破损识别】机器视觉+SVM玉米种子破损识别(带面板)【含GUI源码 1651期】

    一.代码运行视频(哔哩哔哩) [Matlab破损识别]机器视觉+SVM玉米种子破损识别(带面板)[含GUI源码 1651期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考 ...

最新文章

  1. 安卓中如何判断一个字符串是否为空
  2. block(六)循环引用-b
  3. mysql large pages_Linux HugePages及MySQL 大页配置
  4. datagrid出现相同两组数据_stata 数据操作基础知识:以一篇论文数据操作为例
  5. ESP8266编译脚本
  6. TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
  7. Linux开机启动过程详细分析
  8. PHP语言 -- 文件上传
  9. 2017年9月计算机二级c语言,2017年9月计算机二级C语言程序设计练习题
  10. 【华为云技术分享】初识MySQL隔离级别
  11. 夺命雷公狗TP3.2.3商城16-----无限极分类删除(玩法1:有子级分类的不能删除)...
  12. medit 和 .mesh 文件
  13. 轻松解决SAP系统采购信息计量中物料价格不能保存含税价问题
  14. python代码去马赛克,Python黑科技神奇去除马赛克
  15. 在vue项目中使用骨架屏
  16. 周日报名截止,翼支付杯大数据建模大赛16万大奖邀你来!!
  17. Python提取图片中的文字信息
  18. 一款吊到不行接私活儿软件!
  19. 混合波束成形|重叠子阵结构下的HBF探讨
  20. 如何使用 开源硬件Banana PI BPI-R2‘s GPIO-s

热门文章

  1. 使用scratch结合Dsbot机器人做一个抢答器!
  2. 周期函数的傅里叶级数展开
  3. 有一个会做饭的女友是一种怎样的体验?
  4. 一些概率论所揭示的道理
  5. 酷派s6、Coolpad 9190l_C00 无log信息输出解决方法
  6. 破解无线网络密码-BT3如何使用1
  7. python豆瓣mysql_Python3.5爬取豆瓣电视剧数据并且同步到mysql中
  8. 王者荣耀签到系统策划案
  9. 重庆大学非全日制计算机专业,2018年重庆大学非全日制研究生招生专业目录
  10. c语言 库函数理解,C语言库函数理解