图像处理算法基础(五)---拉普拉斯变换自实现与opencv对比
来源:互联网 发布:dokuwiki nginx 编辑:程序博客网 时间:2024/06/06 07:08
最近做了几个平滑锐化的程序效果都是比opencv差一些,猜测opencv应该加了一些效果优化。
{
int FilterW=0;
int FilterH=0;
int FilterCenterX=0;
int FilterCenterY=0;
int aValue[64]={0};//滤波掩模
int tempV=0;
FilterW=3;
FilterH=3;
FilterCenterX=1;
FilterCenterY=1;
cvCopy(pImg,pDestImg,0);
for(int i = FilterCenterY; i < pImg->height-FilterH+FilterCenterY+1; i++){
for(int j = FilterCenterX; j < pImg->width-FilterW+FilterCenterX+1; j++){
// 读取滤波器数组
for (int k = 0; k < FilterH; k++)
{
for (int l = 0; l < FilterW; l++)
{
// 指向DIB第i - iFilterMY + k行,第j - iFilterMX + l个象素的指针
aValue[k * FilterW + l] = pImg->imageData[pImg->widthStep * (i - FilterCenterY + k) + (j - FilterCenterX + l) ];
}
}
//tempV= aValue[0]+aValue[1]+aValue[2]+aValue[3]+aValue[5]+aValue[6]+aValue[7]+aValue[8]-8*aValue[4];
tempV= aValue[1]+aValue[3]+aValue[5]+aValue[7]-4*aValue[4];
if(tempV>255)
tempV=255;
else if(tempV<0)
tempV=0;
pDestImg->imageData[pDestImg->widthStep * i + j ]= tempV; //pImg->imageData[pImg->widthStep * i + j ] - tempV;
}
}
return 0;
}
效果图:
opencv函数 void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 ); 效果图:
- 图像处理算法基础(五)---拉普拉斯变换自实现与opencv对比
- 图像处理算法基础(六)---sobel算子自实现与opencv对比
- 图像处理算法基础(三)---直方图均衡化,自研与opencv对比
- 图像处理算法基础(四)---中值滤波自实现及opencv函数
- 【OpenCV图像处理】五、图像的几何变换(下)
- opencv之计算图像的拉普拉斯变换
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- OPENCV图像处理基础(五)鼠标事件画个框
- 图像处理线性滤波(基础算子、卷积、拉普拉斯)
- MATLAB 图像拉普拉斯变换
- 初学opencv-拉普拉斯变换
- OpenCV拉普拉斯变换
- 我的OpenCV学习笔记(18):使用Sobel变化和拉普拉斯变换检测图像边沿
- opencv入门学习之六:拉普拉斯Laplacian变换锐化图像
- OpenCV图像处理 空间域图像增强(图像锐化 1 基于拉普拉斯算子)
- OpenCV基础03(图像变换+)
- Android图片加载缓存库<2>
- Dropzone应用
- Spring AOP--返回通知,异常通知和环绕通知(顶)
- Single Number通用解
- 数据库事物隔离级别
- 图像处理算法基础(五)---拉普拉斯变换自实现与opencv对比
- 2015.12.15记录-注解
- js 获取width 的方法总结
- 面试题13:数值的整数次方(offer)
- 学习博客
- live555编译、播放示例
- 虚拟现实技术,华锐视点
- MFEXE.COM论坛开源
- Stack Overflow:iOS how to use UIAlertView