2011-09-28 15:58:00 phoenixwsl 阅读数 1606
  • 机器学习算法之线性模型视频教学

    线性模型简单但蕴含着机器学习的基本思想。 本视频教学课程主要讲解:线性模型的基本形式,线性回归模型,小二乘法,对数线性回归,对数几率回归,线性判别分析,多分类学习等知识点。

    556 人正在学习 去看看 王而川

数字图像处理第三次作业。

1、图像可视性对数增强

为了增强图像的可视信息,对图像中的像素进行基于对数的操作 公式如下:


Ld是显示亮度(我们所要求的值),Lw是真实世界的亮度(图片的当前值),Lmax是场景中的最亮值(图片的最大值)。

公式很简单 实现起来也比较容易。

这个映射保证了不管场景的动态范围是怎样的,其最大值都能映射到1 其他的值能够比较平滑的递增

2、直方图

在灰度图像上进行处理

3、直方图的均衡化

目的是使图片的色彩分布更为均匀,直方图均衡化处理好后,图像的直方图是平直的,即各灰度级具有相同的出现频数

处理方法:

对于对于原直方图中的任意一个灰度级rk,只需将灰度级为[0,rk]以内的所有像素个数的和除以图像的像素总数,就可以得到转换之后的对应灰度级s

下图用了一个简单的例子做了说明:图像大小为64*64 4096个像素,有8个灰度级,

第一行是灰度级,第二行是其概率分布,nk是不同灰度级下的像素数目,第四行是其对应的概率。

第五行是转换后的灰度级概率,舍入后将同一个灰度级下的元素进行归并。


但其实转换后每一个灰度级的概率密度并不相等,这是由于不能保证累加后的像素值是相等的原因。

直方图均衡化实质上是减少图像的灰度级以换取对比度的加大。在均衡过程中,原来的直方图上出现概率较小的灰度级被归入很少几个甚至一个灰度级中,故得不到增强。若这些灰度级所构成的图象细节比较重要,则需采用局部区域直方图均衡化处理。

注意:一般直方图的均衡化是在灰度图像上进行处理的,其次要分成256个bin,这样才能保证图像不失真。

2011-05-09 09:35:00 chenbingchenbing 阅读数 1416
  • 机器学习算法之线性模型视频教学

    线性模型简单但蕴含着机器学习的基本思想。 本视频教学课程主要讲解:线性模型的基本形式,线性回归模型,小二乘法,对数线性回归,对数几率回归,线性判别分析,多分类学习等知识点。

    556 人正在学习 去看看 王而川

对数变换公式的推导
lg(a)b=log b/log a
Go
设a^s=b,e^s1=b,e^s2=a
Go
(e^s2)^s=e^(s2*s)=b=e^s1
Go
s2*s=s1
Go
s=s1/s2
Go
得到证明。

2019-07-19 22:25:56 wujuxKkoolerter 阅读数 274
  • 机器学习算法之线性模型视频教学

    线性模型简单但蕴含着机器学习的基本思想。 本视频教学课程主要讲解:线性模型的基本形式,线性回归模型,小二乘法,对数线性回归,对数几率回归,线性判别分析,多分类学习等知识点。

    556 人正在学习 去看看 王而川

对数图像增强

对数图像增强的计算公式如下:
(11-1)s=clog(r+1) s = c \log(r + 1) \tag{11-1}

其中cc为常数

Python实现的代码如下:

def log_enhance(src):
   
    scale = float(np.iinfo(src.dtype).max - np.iinfo(src.dtype).min)
    dst = np.log2(src.astype(np.float32) / scale + 1) * scale
    dst = np.clip(dst,0,255).astype(np.uint8)
    return dst

程序运行结果:

在这里插入图片描述

2016-08-04 20:17:28 hhw999 阅读数 4260
  • 机器学习算法之线性模型视频教学

    线性模型简单但蕴含着机器学习的基本思想。 本视频教学课程主要讲解:线性模型的基本形式,线性回归模型,小二乘法,对数线性回归,对数几率回归,线性判别分析,多分类学习等知识点。

    556 人正在学习 去看看 王而川


对数及对比度拉伸变换



对数和对比度拉伸变换是:动态范围操作的基本工具

表达式:g=c*log(1+f),其中c是一个常数,f是浮点数

对数变换:
               应用:压缩动态范围(实现了图像灰度扩展和压缩功能,扩展低灰度值而压缩高灰度值,让图像的灰度分布更加符合人的视觉特性)(灰度值0(黑)~255(白))
                         可以利用这种变换来扩展被压缩的高值图像中的暗像素
     
               mat2gray(f):会将压缩值限定在【0,1】范围

               im2uint8( mat2gray(f) ):会将值限定在【0,255】范围

对比度拉伸变换函数:把窄的输入灰度级扩展为宽的范围的输出灰度级,结果是一幅高对比度的图像
                  表达式:                  1
                            s=T(r)=   - - - - - - -     ,
                                          1+(m/r)^E
                            其中r为输入图像的灰度,s是输出图像中的相应灰度值,E用于控制该函数的斜率

阈值化/阈值处理函数:用于图像分割的简单工具


 
2019-08-07 10:45:55 baidu_34971492 阅读数 134
  • 机器学习算法之线性模型视频教学

    线性模型简单但蕴含着机器学习的基本思想。 本视频教学课程主要讲解:线性模型的基本形式,线性回归模型,小二乘法,对数线性回归,对数几率回归,线性判别分析,多分类学习等知识点。

    556 人正在学习 去看看 王而川

基于FPGA的灰度图像处理之对数变换

1 背景知识

对数变化的通用公式:s = clog(1+r)--------------------------------------------------------------(1)

其中c是一个常数,r为灰度级。
在这里插入图片描述

图1 一些基本的灰度变换函数

图1中对数曲线的形状表明,该变换将输入中范围较窄的低灰度值映射为输出中较宽范围的灰度值,相反地,对高的输入灰度值也是如此。我们使用这种类型的变换来扩展图像中的暗像素的值,同时压缩更高灰度级的值。反对数变换的作用与此相反。

2 FPGA实现

在这里插入图片描述

图2 FPGA实现对数变换框架图

由图2可知对于灰度图像直接经过对数变换就可以得到对数变换图像,但是对于FPGA直接实现对数公式显然难度很大。在FPGA中我们采用基于查找表的方式进行对数变换。

ROM表的制作:

Matlab源码:

clear all
close all
clc
depth = 256;
width =8;
r = [0:1:255];
y = 45*log(1+r);
x = r;
z = round(y);
fid = fopen('E:\matlab_project\log\log2.mif','w');%路径 
fprintf(fid,'depth= %d; \n',depth); 
fprintf(fid,'width= %d; \n',width); 
fprintf(fid,'address_radix=uns;\n'); 
fprintf(fid,'data_radix = uns;\n'); 
fprintf(fid,'Content Begin \n'); 
for(k=1:depth)  
  fprintf(fid,'%d: %d; \n',k-1,z(k)); 
end
fprintf(fid,'end;');
hold on
plot(x);
plot(y);
hold off

结果:
在这里插入图片描述

图3 log函数图

部分Rom表:

depth= 256;     %数据深度
width= 8;       %数据位宽
address_radix=uns;
data_radix = uns;
Content Begin 
0: 0; 
1: 31; 
2: 49; 
3: 62; 
4: 72; 
5: 81; 
6: 88; 
7: 94; 
8: 99; 
9: 104; 
10: 108; 
...
...
...
250: 249; 
251: 249; 
252: 249; 
253: 249; 
254: 249; 
255: 250; 
end;

FPGA源码:

//------------------------------------------
// log
//------------------------------------------	
wire [7:0]	 log_data;				
rom_log rom_log_inst(
	     .address(o_y_8b),
	     .clock(TFT_clk),
	     .q(log_data)
		  );

assign TFT_rgb = {log_data[7:3],log_data[7:2],log_data[7:3]};     //Y

IP设置:

在这里插入图片描述

图4 ROM IP设置1

在这里插入图片描述

图5 ROM IP 设置2

在这里插入图片描述

图6 ROM IP设置3

实验结果:

在这里插入图片描述

图7 实验原图

在这里插入图片描述

图8 实验结果

结果分析:

由图3可知,灰度值整体被拉大。由图4和图5观察可得图中白色区域明显增多,某些白色线条被拉长。符合log变换将输入中范围较窄的低灰度值映射为输出中较宽范围的灰度值,相反地,对高的输入灰度值也是如此。实验成功。我们猜想正常的灰度图像会被整体变亮,有兴趣的同学可以去实验。
由此我们可以得出对数变化的实际应用。比如夜间拍照图像过暗,我们可以采用对数变换;如果图像过度曝光也就是偏亮,我们可以采用反对数变换。
欢迎关注微信公众号:FPGA开源工作室
获取更多学习资料。
FPGA开源工作室

对数公式

阅读数 2385

对数换底公式

博文 来自: bhiaibogf

对数的换算公式

阅读数 32

没有更多推荐了,返回首页