资源简介
完全的C++源代码,没有其他语言.能够运行的啊,不懂得可以问我。
代码片段和文件信息
//////////////////////////////////////////////////////////////
//Name:edge.c
//Purpose: edge detectiong and hough transform
//Author: phoenix CS TshingHua Beijing P.R.C.
//Email: bjlufengjun@www.163.net or lufengjun@hotmail.com
//Date:April 3 1998
//header file
#include “bmp.h“
#include “memory.h“
#include “math.h“
#include “stdio.h“
//owner defined stack
typedef struct{
HGLOBAL hMem;
POINT *lpMyStack;
LONG ElementsNum;
LONG ptr;
}MYSTACK;
//macro definition
#define WIDTHBYTES(i) ((i+31)/32*4)
#define PI 3.1415926535
//function declaration
int WINAPI WinMain (HANDLE HANDLE LPSTR int);
LRESULT CALLBACK MainWndProc(HWND UINTWPARAM LPARAM);
BOOL LoadBmpFile (HWND hWndchar *BmpFileName);
BOOL TemplateOperation(HWND hWnd int TemplateType);
BOOL Outline(HWND hWnd);
BOOL Hough(HWND hWnd);
BOOL LapOfGauss(HWND hWnd);
BOOL Contour(HWND hWnd);
BOOL IsContourP(LONG xLONG y char *lpPtr);
BOOL SeedFill(HWND hWnd);
BOOL InitStack(HWND hWndLONG StackLen);
void DeInitStack();
BOOL MyPush(POINT p);
POINT MyPop();
BOOL IsStackEmpty();
//global variable declaration
BITMAPFILEHEADER bf;
BITMAPINFOHEADER bi;
HPALETTE hPalette=NULL;
HBITMAP hBitmap=NULL;
HGLOBAL hImgData=NULL;
DWORD NumColors;
DWORD LineBytes;
HINSTANCE ghInst;
DWORD ImgWidth=0 ImgHeight=0;
//template array
float Template_Smooth_Box[9]={1.0f1.0f1.0f1.0f1.0f1.0f1.0f1.0f1.0f};
float Template_Smooth_Gauss[9]={1.0f2.0f1.0f2.0f4.0f2.0f1.0f2.0f1.0f};
float Template_Sharpen_Laplacian[9]={-1.0f-1.0f-1.0f-1.0f9.0f-1.0f-1.0f-1.0f-1.0f};
float Template_HSobel[9]={-1.0f0.0f1.0f-2.0f0.0f2.0f-1.0f0.0f1.0f};
float Template_VSobel[9]={-1.0f-2.0f-1.0f0.0f0.0f0.0f1.0f2.0f1.0f};
float Template_HIsoSobel[9]={-1.0f0.0f1.0f-1.4142f0.0f1.4142f-1.0f0.0f1.0f};
float Template_VIsoSobel[9]={-1.0f-1.4142f-1.0f0.0f0.0f0.0f1.0f1.4142f1.0f};
float Template_Log[25]={-2.0f-4.0f-4.0f-4.0f-2.0f
-4.0f0.0f8.0f0.0f-4.0f
-4.0f8.0f24.0f8.0f-4.0f
-4.0f0.0f8.0f0.0f-4.0f
-2.0f-4.0f-4.0f-4.0f-2.0f};
MYSTACK SeedFillStack;
POINT SeedPoint;
BOOL IsSelecting;
///////////////////////////////////////////////////////////
int PASCAL WinMain (HANDLE hInstance HANDLE hPrevInstance
LPSTR lpszCmdLine int nCmdShow)
{
MSG msg;
WNDCLASS wndclass;
HWND hWnd;
ghInst=hInstance;
if ( ! hPrevInstance ){
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = MainWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon (NULL IDI_APPLICATION);
wndclass.hCursor = LoadCursor (NULL IDC_ARROW);
wndclass.hbrBackground = GetStockobject (WHITE_BRUSH);
wndclass.lpszMenuName = “BMPMENU“;
wndclass.lpszClassName = “phoenix ip system“;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 34772 2008-10-19 13:41 图像边缘检测\Bmp.aps
文件 818 1998-04-21 18:53 图像边缘检测\Bmp.h
文件 1062 1998-04-21 18:52 图像边缘检测\Bmp.rc
文件 448 2008-10-19 13:44 图像边缘检测\Debug\Bmp.res
文件 52836 2008-10-19 13:44 图像边缘检测\Debug\edge.obj
文件 41984 2009-05-11 15:06 图像边缘检测\Debug\vc60.idb
文件 61440 2008-10-19 13:44 图像边缘检测\Debug\vc60.pdb
文件 200780 2008-10-19 13:44 图像边缘检测\Debug\图像边缘检测.exe
文件 254936 2008-10-19 13:44 图像边缘检测\Debug\图像边缘检测.ilk
文件 2815444 2008-10-19 13:44 图像边缘检测\Debug\图像边缘检测.pch
文件 377856 2008-10-19 13:44 图像边缘检测\Debug\图像边缘检测.pdb
文件 31475 2008-10-19 13:43 图像边缘检测\edge.c
文件 360054 2009-04-30 14:32 图像边缘检测\test.bmp
文件 4097 2008-10-19 13:41 图像边缘检测\图像边缘检测.dsp
文件 549 2008-10-19 13:40 图像边缘检测\图像边缘检测.dsw
文件 50176 2009-05-11 15:06 图像边缘检测\图像边缘检测.ncb
文件 48640 2009-05-11 15:06 图像边缘检测\图像边缘检测.opt
文件 1544 2008-10-19 13:44 图像边缘检测\图像边缘检测.plg
目录 0 2008-10-19 13:44 图像边缘检测\Debug
目录 0 2009-05-11 15:06 图像边缘检测
----------- --------- ---------- ----- ----
4338911 20
- 上一篇:B-树和B+树的源代码
- 下一篇:C++ 实现的HTTP协议打包解析器
评论
共有 条评论