图像处理算法基础(二)---线性变换和伽马变换
来源:互联网 发布:怎么转行java工程师 编辑:程序博客网 时间:2024/05/21 14:10
1.灰度线性变换:F(x)=a*f(x)+b
int IMGChange(IplImage *src,IplImage *dest, float slope,float intercept)
{
if(NULL == src)
return -1;
if(src->nChannels!=1 || dest->nChannels!=1)
{
cout<<"It's not gray image!"<<endl;
return -1;
}
float gray = 0;
for(int i = 0;i < src->height;i++){
for(int j = 0; j < src->width; j++){
gray = (float)src->imageData[src->widthStep * i + j ];
gray = slope*gray + intercept;
dest->imageData[dest->widthStep * i + j ]=gray;
}
}
return 0;
}
当slope=-1 intercept=255即为图像反转
2.伽马变换,s=c*(r)γ,可用于图像增强等预处理。
int IMGgammaChange(IplImage *src,IplImage *dest, double gamma,double comp)
{
if(NULL == src)
return -1;
if(src->nChannels!=1 || dest->nChannels!=1)
{
cout<<"It's not gray image!"<<endl;
return -1;
}
double gray = 0;
for(int i = 0;i < src->height;i++){
for(int j = 0; j < src->width; j++){
gray = (double)src->imageData[src->widthStep * i + j ];
gray =pow((gray+comp)/255.0,gamma)*255;
dest->imageData[dest->widthStep * i + j ]=gray;
}
}
return 0;
}
- 图像处理算法基础(二)---线性变换和伽马变换
- 图像处理-基本算法之线性变换
- 数字图像处理-空间域图像增强(一)(图像反转,对数变换,幂次变换、分段线性变换)
- 图像基本变换---图像线性变换
- 64.[GIS基础]矩阵、线性变换和仿射变换
- 图像处理算法基础(五)---拉普拉斯变换自实现与opencv对比
- 图像处理算法基础(八)---霍夫变换直线检测
- 线性变换和仿射变换
- 图像处理基础(二)
- 图像处理 灰度的线性变换
- 图像变换——分段线性变换
- 【图像处理】图像几何变换基础(非弹性变换下如何计算旋转矩阵)
- 图像处理学习笔记之图像的几何变换(5)图像缩放和插值算法
- 基本图像变换:线性变换,仿射变换,投影变换
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- android常见错误
- hdu 2604 Queuing 递推+矩阵快速幂
- 计算机科学与技术的未来发展前景
- 第十五周 项目2-用哈希法组织关键字
- 第十二周项目5 迷宫问题(利用深度遍历算法)
- 图像处理算法基础(二)---线性变换和伽马变换
- 第十五周项目2- 用哈希法组织关键字
- 第十二周项目一:图基本算法库
- 第十二周项目4-利用遍历思想求解图问题(2)
- viewpage+fragment+下划线滑动
- 浅谈戊戌变法之败
- 第十二周项目4-利用遍历思想求解图问题(1)
- 第十五周上机实践—项目3—B-树的基本操作
- 多线程编程 GCD和NSOperationQueue的区别