⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globalfunc.cpp

📁 边缘检测原代码. 边缘检测原代码.
💻 CPP
字号:
// GLoablFunc.cpp: 是全局函数
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Edge_detection.h"
#include "GlobalFunc.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

void DibXMatrix(CDIB *dib,double *m,int mW,int mH)
{
	int i,j,l,k;
	int width,height,strogeWidth;

	if( dib->BitCount() !=8 ) return;

	width=dib->Width();
	height=dib->Height();
	strogeWidth=dib->StorageWidth();

	CDIB tmpDib;
	tmpDib.CreateDIB(dib);

	for(i=0;i<height+1-mH;i++)
	for(j=0;j<width+1-mW;j++)
	{
		BYTE *pBit = tmpDib.GetPixelAddress(j,height-1-i);
		BYTE *pIBit = dib->GetPixelAddress(j,height-1-i);
		double dValue=0.0;
		for(l=0; l<mH; l++)
		for(k=0; k<mW; k++)
			dValue+= *(pIBit+l*strogeWidth+k)*m[l*mW+k];		
		// 对结果数据进行处理 
		 if(dValue<0)
			 dValue = 0;
		 else if( dValue>255 )
			 dValue=255;

		 *pBit = (BYTE)dValue;
	}
	dib->CreateDIB( &tmpDib,TRUE);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -