【图像处理】SFR算法详解4
2016-03-31 23:08
218 查看
本篇为SFR算法详解系列的第四篇,前面三篇为:
《SFR算法详解1》:什么是MTF,MTF50,MTF50P
《SFR算法详解2》:算法过程描述
《SFR算法详解3》:ROI定义,线性化,centroid
本篇主要根据第二篇中的算法流程,描述几个流程及其相关原理。
最小二乘法的目的是为了使得各个矩心到拟合出来的直线上对应的点的差的平方和最小,即残差平方和最小。相应的数学原理如下:
![](http://img.blog.csdn.net/20160331230027435)
![](http://img.blog.csdn.net/20160331230106857)
在代码中,a对应于b0,b对应于b1.
需要注意的是,在代码中,是将ROI进行翻转再进行线性回归的,这样是为了基于图像中行数的变化(下图中的x)来求解对应的y的方程。下图根据代码中的变量得出。
![](http://img.blog.csdn.net/20160331230315483)
代码中还有相关的avar,bvar的求解,这分别是估计量a、b的残差的估计标准差;还有拟合优度R2的求解,以下为数学表达式:
![](http://img.blog.csdn.net/20160331230342999)
![](http://img.blog.csdn.net/20160331230358640)
1、edgex是以边缘为基准的,以距离边缘的长度为数值的x坐标。以下称为edgex轴。
2、在超采样的过程中,我们先计算每个像素点的edgex值。需要明确的是对于ESF,定义域的范围从0到size_x*4
3、对edgex轴的数值进行4倍放大,然后向下取整,获得对应坐标,并且保存相应位置的signal值。由于是逐行扫描,对于每一行,都会对之前所计算得到的坐标对应的值有所重复,这时,我们采用对其求平均值。比如:
说在第i行,在整个区域内对应的坐标为j,有⌊4*edgex[i]⌋=k,得到
AveEdge[k]=Signal[j];
说在第i+N行,区域坐标为j+N*size_x,有⌊4*edgex[i+N]⌋=k,得到
![](http://img.blog.csdn.net/20160331230721407)
在这里,AveEdge就是得到的4x放大的ESF的值。
![](http://img.blog.csdn.net/20160331230627922)
求导的计算,其实就是差分的概念,在这里,我们采用AvgEdge[i]-AvgEdge[i-1]进行求导。
《SFR算法详解1》:什么是MTF,MTF50,MTF50P
《SFR算法详解2》:算法过程描述
《SFR算法详解3》:ROI定义,线性化,centroid
本篇主要根据第二篇中的算法流程,描述几个流程及其相关原理。
4、线性回归
在得到对应的矩心之后,对其进行线性回归。这里采用最小二乘法,求出估计参数a、b。最小二乘法的目的是为了使得各个矩心到拟合出来的直线上对应的点的差的平方和最小,即残差平方和最小。相应的数学原理如下:
在代码中,a对应于b0,b对应于b1.
需要注意的是,在代码中,是将ROI进行翻转再进行线性回归的,这样是为了基于图像中行数的变化(下图中的x)来求解对应的y的方程。下图根据代码中的变量得出。
代码中还有相关的avar,bvar的求解,这分别是估计量a、b的残差的估计标准差;还有拟合优度R2的求解,以下为数学表达式:
5、4倍超采样
在这里我们的目标是对ROI区域进行4倍超采样。1、edgex是以边缘为基准的,以距离边缘的长度为数值的x坐标。以下称为edgex轴。
2、在超采样的过程中,我们先计算每个像素点的edgex值。需要明确的是对于ESF,定义域的范围从0到size_x*4
3、对edgex轴的数值进行4倍放大,然后向下取整,获得对应坐标,并且保存相应位置的signal值。由于是逐行扫描,对于每一行,都会对之前所计算得到的坐标对应的值有所重复,这时,我们采用对其求平均值。比如:
说在第i行,在整个区域内对应的坐标为j,有⌊4*edgex[i]⌋=k,得到
AveEdge[k]=Signal[j];
说在第i+N行,区域坐标为j+N*size_x,有⌊4*edgex[i+N]⌋=k,得到
在这里,AveEdge就是得到的4x放大的ESF的值。
6、差分运算,获得LSF
calculate_derivative,对ESF进行求导,获得LSF。求导的计算,其实就是差分的概念,在这里,我们采用AvgEdge[i]-AvgEdge[i-1]进行求导。
相关文章推荐
- 杭州--11
- webpack初学者指南(Beginner’s guide to Webpack)
- 【蓝桥杯】历届试题 错误票据
- Socket开发
- 简介好看的anroid自定义日历控件,源码
- 恰如其分的架构设计
- C语言中的整数自动转换原则
- nullptr介绍
- 随想录(改进的豆瓣爬行代码)
- c++第二次试验
- English learning method ---如何加强听力
- windows平台zend optimizer安装配置
- 在IE自动登录使用域账号验证的网站,例如基于AD的windows验证的sharepoint站点
- 机器学习笔记(五)——朴素贝叶斯分类
- 我的第二次实验,第四个项目
- salesforce 零基础开发入门学习(八)数据分页简单制作
- codeforces 659F F. Polycarp and Hay(并查集+bfs)
- HDU 3727 Jewel 主席树
- leetcode 31. Next Permutation
- ubuntu server 改变phpmyadmin的默认访问路径