资源简介
用vc++实现中值滤波,是冈萨雷斯图像处理书上提到的源代码,原算法。是图像处理的入门教材
代码片段和文件信息
// dibapi.cpp
//
// Source file for Device-Independent Bitmap (DIB) API. Provides
// the following functions:
//
// PaintDIB() - Painting routine for a DIB
// CreateDIBPalette() - Creates a palette from a DIB
// FindDIBBits() - Returns a pointer to the DIB bits
// DIBWidth() - Gets the width of the DIB
// DIBHeight() - Gets the height of the DIB
// PaletteSize() - Gets the size required to store the DIB‘s palette
// DIBNumColors() - Calculates the number of colors
// in the DIB‘s color table
// CopyHandle() - Makes a copy of the given global memory block
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1997 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
#include “stdafx.h“
#include “dibapi.h“
#include
#include
#include
#define DIB_HEADER_MARKER ((WORD) (‘M‘ << 8) | ‘B‘)
#ifdef _MAC
#define SWAPWORD(x) MAKEWORD(HIBYTE(x) LOBYTE(x))
#define SWAPLONG(x) MAKELONG(SWAPWORD(HIWORD(x)) SWAPWORD(LOWORD(x)))
void ByteSwapHeader(BITMAPFILEHEADER* bmiHeader);
void ByteSwapInfo(LPSTR lpHeader BOOL fWin30Header);
#endif
/*************************************************************************
*
* PaintDIB()
*
* Parameters:
*
* HDC hDC - DC to do output to
*
* LPRECT lpDCRect - rectangle on DC to do output to
*
* HDIB hDIB - handle to global memory with a DIB spec
* in it followed by the DIB bits
*
* LPRECT lpDIBRect - rectangle of DIB to output into lpDCRect
*
* CPalette* pPal - pointer to CPalette containing DIB‘s palette
*
* Return Value:
*
* BOOL - TRUE if DIB was drawn FALSE otherwise
*
* Description:
* Painting routine for a DIB. Calls StretchDIBits() or
* SetDIBitsToDevice() to paint the DIB. The DIB is
* output to the specified DC at the coordinates given
* in lpDCRect. The area of the DIB to be output is
* given by lpDIBRect.
*
************************************************************************/
BOOL WINAPI PaintDIB(HDC hDC
LPRECT lpDCRect
HDIB hDIB
LPRECT lpDIBRect
CPalette* pPal)
{
LPSTR lpDIBHdr; // Pointer to BITMAPINFOHEADER
LPSTR lpDIBBits; // Pointer to DIB bits
BOOL bSuccess=FALSE; // Success/fail flag
HPALETTE hPal=NULL; // Our DIB‘s palette
HPALETTE hOldPal=NULL; // Previous palette
/* Check for valid DIB handle */
if (hDIB == NULL)
return FALSE;
/* Lock down the DIB and get a pointer to the beginning of the bit
* buffer
*/
l
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 66614 2001-01-16 23:55 中值滤波\测试图片\原始lena图像(含椒盐噪声).bmp
文件 66614 2004-06-30 00:41 中值滤波\测试图片\经中值滤波后.bmp
文件 23782 2004-03-07 17:05 中值滤波\源代码\dibapi.cpp
文件 1876 2000-02-03 07:29 中值滤波\源代码\dibapi.h
文件 2506 2004-05-20 14:25 中值滤波\源代码\MainFrm.cpp
文件 1581 2004-05-20 14:25 中值滤波\源代码\MainFrm.h
文件 3157 2004-05-20 17:49 中值滤波\源代码\mydib.cpp
文件 72 2004-05-20 17:26 中值滤波\源代码\mydib.h
文件 46324 2004-06-30 00:39 中值滤波\源代码\MyDIP.aps
文件 2615 2004-06-30 00:37 中值滤波\源代码\MyDIP.clw
文件 4158 2004-05-20 14:25 中值滤波\源代码\MyDIP.cpp
文件 4781 2004-05-20 17:54 中值滤波\源代码\MyDIP.dsp
文件 533 2004-05-20 14:25 中值滤波\源代码\MyDIP.dsw
文件 1345 2004-05-20 14:25 中值滤波\源代码\MyDIP.h
文件 12279 2004-06-30 00:39 中值滤波\源代码\MyDIP.rc
文件 4007 2004-05-20 17:10 中值滤波\源代码\MyDIPDoc.cpp
文件 1830 2004-05-20 15:17 中值滤波\源代码\MyDIPDoc.h
文件 7850 2004-06-30 00:39 中值滤波\源代码\MyDIPView.cpp
文件 1852 2004-06-30 00:37 中值滤波\源代码\MyDIPView.h
文件 4287 2004-05-20 14:25 中值滤波\源代码\ReadMe.txt
文件 36864 2004-06-30 00:39 中值滤波\源代码\Release\MyDIP.exe
文件 1078 2004-05-20 14:25 中值滤波\源代码\res\MyDIP.ico
文件 397 2004-05-20 14:25 中值滤波\源代码\res\MyDIP.rc2
文件 1078 2004-05-20 14:25 中值滤波\源代码\res\MyDIPDoc.ico
文件 1078 2004-05-20 14:25 中值滤波\源代码\res\Toolbar.bmp
文件 874 2004-06-30 00:39 中值滤波\源代码\Resource.h
文件 207 2004-05-20 14:25 中值滤波\源代码\StdAfx.cpp
文件 1040 2004-05-20 17:21 中值滤波\源代码\StdAfx.h
..AD... 0 2005-11-28 19:30 中值滤波\源代码\Release
..AD... 0 2005-11-28 19:30 中值滤波\源代码\res
............此处省略6个文件信息
相关资源
- 计算机图形学 中点画椭圆法 Bresenha
- DTW算法VC++实现 源代码非常好,注释非
- 操作系统实验--电梯调度 VC++实现
- VC++实现算数编码
- 用DEVC++实现的小型通信录程序带实验
- BP神经网络VC++实现
- 图像拼接使用VC++实现完成两幅又重叠
- VC++实现滑块皮肤 slider skin
- http协议实现c++
- 用VC++实现图像连通区域标记
- 利用VC++实现Sutherland-Hodgman算法多边形
- JPEG图片EXIF信息提取及缩略图显示VC
- VC++实现客户端与服务器端的文件传输
- Em算法实现聚类(VC++实现)
- vc++实现哲学家吃面问题
- VC++实现动态捆绑EXE文件
- vc++实现图像的缩放
- VC++实现GPS数据采集与提取的软件编程
- IEC104规约的VC++实现
- VC++实现的停车场管理系统
- 车牌定位识别系统 VC++实现
- 二维基本图形几何变换算法用VC++实现
- VC++实现基于MFC的Web服务器程序
- VC++实现网络词典源码(客户端与服务
- 利用VC和VC++实现的车牌识别与分割的
- VC++实现启用和禁用设备的
- vc++实现bresenham生成直线
- VC++实现QQ聊天源代码绝对好
评论
共有 条评论