资源简介
VS平台下可直接运行,里面有示范图像,可供调试,输入单通道或三通道,
C语言,移植性强
代码片段和文件信息
#include “stdafx.h“
#include “windowsx.h“
#include “math.h“
#include “BianYuanJianCeDib.h“
#include “MainFrm.h“
#include “DynSplitView2.h“
BianYuanJianCeDib::BianYuanJianCeDib()
{
}
BianYuanJianCeDib::~BianYuanJianCeDib()
{
}
/***************************************************************/
/*函数名称:Templat(BYTE *m_pdata int wide int height int tempH int tempW int tempMX int tempMY float *fpArray float fCoef) */
/*函数类型:void */
/*参数:BYTE* m_pdata:指向原DIB图像指针 */
/* int wide:原图像宽度 */
/* int height:原图像高度 */
/* int tempH:模板高度 */
/* int tempW:模板宽度 */
/* int tempMX:模板的中心元素X坐标( /* int tempMY:模板的中心元素Y坐标( /* float *fpArray:指向模板数组的指针 */
/* float fCoef:模板系数 */
/*返回值:处理成功返回TRUE;处理失败返回FALSE。 */
/*功能:用指定模板对灰度图像进行操作。 */
/***************************************************************/
void BianYuanJianCeDib::Templat(BYTE *m_pdata int wide int height int tempH int tempW int tempMX int tempMY float *fpArray float fCoef)
{
int ijkl; //循环变量
BYTE* temp=new BYTE[wide*height]; //新图像缓冲区
//初始化新图像为原始图像
memcpy( tempm_pdatawide*height);
float fResult; //像素值计算结果
for(j=tempMY;j for(i=tempMX;i {
//计算像素值
fResult=0;
for(k=0;k for(l=0;l fResult=fResult+m_pdata[(j-tempMY+k)*wide+(i-tempMX+l)]*fpArray[k*tempW+l];
//乘上系数
fResult*=fCoef;
//取绝对值
fResult=(float)fabs(fResult);
//判断是否超过255
if(fResult>255)
//若超过255,直接赋值为255
temp[j*wide+i]=255;
else
//未超过255,赋值为计算结果
temp[j*wide+i]=(int)(fResult+0.5);
}
memcpy(m_pdata tempwide*height); //复制处理后的图像
delete temp;
}
/***************************************************************/
/*函数名称:Templat24bit(BYTE *m_pdata int DibWidth int height int tempH int tempW int tempMX int tempMY float *fpArray float fCoef) */
/*函数类型:void */
/*参数:BYTE* m_pdata:指向原DIB图像指针 */
/* int DibWidth:原图像宽度 */
/* int height:原图像高度 */
/* int tempH:模板高度 */
/* int tempW:模板宽度 */
/* int tempMX:模板的中心元素X坐标( /* int tempMY:模板的中心元素Y坐标( /* float *fpArray:指向模板数组的指针 */
/* float fCoef:模板系数 */
/*返
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 216056 2002-09-07 11:12 锐化边缘检测\24位图.bmp
文件 28418 2017-12-30 09:10 锐化边缘检测\BianYuanJianCeDib.cpp
文件 577 2004-03-31 15:49 锐化边缘检测\BianYuanJianCeDib.h
文件 4737 2017-12-30 09:11 锐化边缘检测\Cdib.cpp
文件 826 2004-03-28 12:17 锐化边缘检测\Cdib.h
文件 41626 2017-12-30 09:10 锐化边缘检测\Debug\BianYuanJianCeDib.obj
文件 12468 2017-12-30 09:11 锐化边缘检测\Debug\BuildLog.htm
文件 22760 2017-12-30 09:11 锐化边缘检测\Debug\Cdib.obj
文件 131584 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.exe
文件 920 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.exe.em
文件 984 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.exe.em
文件 861 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.exe.intermediate.manifest
文件 1597960 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.ilk
文件 35993 2014-04-09 15:56 锐化边缘检测\Debug\DSplit.obj
文件 22872064 2014-04-09 15:56 锐化边缘检测\Debug\DSplit.pch
文件 3419136 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.pdb
文件 9156 2017-12-30 09:11 锐化边缘检测\Debug\DSplit.res
文件 28712 2014-04-09 15:56 锐化边缘检测\Debug\DSplitDoc.obj
文件 35637 2014-04-09 15:56 锐化边缘检测\Debug\DSplitView.obj
文件 29229 2014-04-09 15:56 锐化边缘检测\Debug\DynSplitterWnd.obj
文件 44718 2014-04-09 15:56 锐化边缘检测\Debug\DynSplitView2.obj
文件 38651 2014-04-09 15:56 锐化边缘检测\Debug\MainFrm.obj
文件 67 2017-12-30 09:11 锐化边缘检测\Debug\mt.dep
文件 407282 2014-04-09 15:56 锐化边缘检测\Debug\StdAfx.obj
文件 879616 2017-12-30 09:11 锐化边缘检测\Debug\vc90.idb
文件 1765376 2017-12-30 09:11 锐化边缘检测\Debug\vc90.pdb
文件 31628 2010-11-15 13:42 锐化边缘检测\DSplit.aps
文件 3389 2010-11-15 13:45 锐化边缘检测\DSPLIT.CLW
文件 4158 2003-04-01 08:51 锐化边缘检测\Dsplit.cpp
文件 5170 2004-03-31 15:33 锐化边缘检测\DSplit.dsp
............此处省略64个文件信息
- 上一篇:FCM模糊C均值的C++实现
- 下一篇:VS2013安装.zip
评论
共有 条评论