资源简介
数字图像二值化的源代码,比较简单,基于VC++实现
代码片段和文件信息
// dibapi.cpp
// Download by http://www.codefans.net
// 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-1998 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
#include
/*
* Dib Header Marker - used in writing DIBs to files
*/
#define DIB_HEADER_MARKER ((WORD) (‘M‘ << 8) | ‘B‘)
/*************************************************************************
Function: ReadDIBFile (CFile&)
Purpose: Reads in the specified DIB file into a global chunk of
memory.
Returns: A handle to a dib (hDIB) if successful.
NULL if an error occurs.
Comments: BITMAPFILEHEADER is stripped off of the DIB. Everything
from the end of the BITMAPFILEHEADER structure on is
returned in the global memory handle.
*************************************************************************/
HDIB WINAPI ReadDIBFile(LPCTSTR pszFileName )
{
BITMAPFILEHEADER bmfHeader;
DWORD dwBitsSize;
HDIB hDIB;
LPSTR pDIB;
HANDLE hFile;
DWORD nBytesRead;
/*
* get length of DIB in bytes for use when reading
*/
hFile = CreateFile(
pszFileName // pointer to name of the file
GENERIC_READ // access (read-write) mode
FILE_SHARE_READ // share mode
NULL // pointer to security descriptor
OPEN_EXISTING // how to create
FILE_ATTRIBUTE_NORMAL // file attributes
NULL // handle to file with attributes to copy
);
dwBitsSize = GetFileSize(hFileNULL);
/*
* Go read the DIB file header and check if it‘s valid.
*/
// attempt an asynchronous read operation
if(! ReadFile(hFile (LPSTR)&bmfHeader sizeof(bmfHeader) &nBytesRead
NULL))
return NULL;
if (bmfHeader.bfType != DIB_HEADER_MARKER)
return NULL;
/*
* Allocate memory for DIB
*/
hDIB = (HDIB) ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT dwBitsSize);
if (hDIB == 0)
{
return NULL;
}
pDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
----------- --------- ---------- ----- ----
151969 33
- 上一篇:大数的加减乘除开方
- 下一篇:离散 合式公式 析取 合取转换
相关资源
- 图像处理,C++,C语言。二值化,灰度
- otsu二值化c代码
- MATLAB数字图像处理:从仿真到C C++代码
- 山东大学数字图像处理实验一:图像
- 使用c语言实现图像二值化
- 数字图像处理打开位图并查看其灰度
- 大津法C语言实现方法
- 数字图像处理算法C语言实现.
- 数字图像处理原理与实践 基于Visua
- bmp图片灰度化二值化
- 数字图像处理 邻域平均法 C语言
- C语言写的简单均值滤波算法
- 功能非常全的数字图像处理程序含源
- 直方图平滑与双峰分布二值化
- 灰度图像二值化代码
- Visual C++数字图像处理技术详解 pdf+源
- 基于linux下的图像缩小 c语言
- C++ 数字图像处理源代码
- opencv提取图片中人轮廓
- 数字图像处理 印前输出 rip 数字加
- C++图像二值化代码
- Visual C++数字图像模式识别典型案例详
- MFC数字图像处理BMP格式读取 保存 DF
- 数字图像处理图像锐化C++实现
- VC++ 数字图像 CDib类
- 《实用数字图像处理与分析(2版)》
- STM32F103驱动二值化摄像头
- c++ 数字图像处理小程序
- Visual c++数字图像处理典型算法及随书
- Visual C++ 实践与提高 数字图像处理与
评论
共有 条评论