资源简介
图像分割
图像分割
图像分割
图像分割
图像分割
图像分割
图像分割
图像分割

代码片段和文件信息
// cdib.cpp
// new version for WIN32
#include “stdafx.h“
#include “cdib.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_SERIAL(CDib Cobject 0);
CDib::CDib()
{
m_hFile = NULL;
m_hBitmap = NULL;
m_hPalette = NULL;
m_nBmihAlloc = m_nImageAlloc = noAlloc;
Empty();
}
CDib::CDib(CSize size int nBitCount)
{
m_hFile = NULL;
m_hBitmap = NULL;
m_hPalette = NULL;
m_nBmihAlloc = m_nImageAlloc = noAlloc;
Empty();
ComputePaletteSize(nBitCount);
m_lpBMIH = (LPBITMAPINFOHEADER) new
char[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * m_nColorTableEntries];
m_nBmihAlloc = crtAlloc;
m_lpBMIH->biSize = sizeof(BITMAPINFOHEADER);
m_lpBMIH->biWidth = size.cx;
m_lpBMIH->biHeight = size.cy;
m_lpBMIH->biPlanes = 1;
m_lpBMIH->biBitCount = nBitCount;
m_lpBMIH->biCompression = BI_RGB;
m_lpBMIH->biSizeImage = 0;
m_lpBMIH->biXPelsPerMeter = 0;
m_lpBMIH->biYPelsPerMeter = 0;
m_lpBMIH->biClrUsed = m_nColorTableEntries;
m_lpBMIH->biClrImportant = m_nColorTableEntries;
ComputeMetrics();
memset(m_lpvColorTable 0 sizeof(RGBQUAD) * m_nColorTableEntries);
//m_lpImage = NULL; // no data yet err?
m_lpImage=(LPBYTE) new char[((long int) size.cx)*size.cy];
m_nImageAlloc = crtAlloc;
}
CDib::~CDib()
{
Empty();
}
CSize CDib::GetDimensions()
{
if(m_lpBMIH == NULL) return CSize(0 0);
return CSize((int) m_lpBMIH->biWidth (int) m_lpBMIH->biHeight);
}
//BOOL CDib::AttachMapFile(const char* strPathname BOOL bShare) // for reading
BOOL CDib::AttachMapFile(const TCHAR* strPathname BOOL bShare) // for reading
{
// if we open the same file twice Windows treats it as 2 separate files
// doesn‘t work with rare BMP files where # palette entries > biClrUsed
HANDLE hFile = ::CreateFile(strPathname GENERIC_WRITE | GENERIC_READ
bShare ? FILE_SHARE_READ : 0
NULL OPEN_EXISTING FILE_ATTRIBUTE_NORMAL NULL);
ASSERT(hFile != INVALID_HANDLE_VALUE);
DWORD dwFileSize = ::GetFileSize(hFile NULL);
HANDLE hMap = ::CreateFileMapping(hFile NULL PAGE_READWRITE 0 0 NULL);
DWORD dwErr = ::GetLastError();
if(hMap == NULL)
{
AfxMessageBox(_T(“Empty bitmap file“));
return FALSE;
}
LPVOID lpvFile = ::MapViewOfFile(hMap FILE_MAP_WRITE 0 0 0); // map whole file
ASSERT(lpvFile != NULL);
if(((LPBITMAPFILEHEADER) lpvFile)->bfType != 0x4d42)
{
AfxMessageBox(_T(“Invalid bitmap file“));
DetachMapFile();
return FALSE;
}
AttachMemory((LPBYTE) lpvFile + sizeof(BITMAPFILEHEADER));
m_lpvFile = lpvFile;
m_hFile = hFile;
m_hMap = hMap;
return TRUE;
}
BOOL CDib::CopyToMapFile(const TCHAR* strPathname)
{
// copies DIB to a new file releases prior pointers
// if you previously used CreateSection the HBITMAP will be NULL (and unusable)
BITMAPFILEHEADER bmfh;
bmfh.bfType = 0x4d42; // ‘BM‘
bmfh.bfSize = m_dwSizeImage + sizeof(BITMAPINFOHEADER) +
sizeof(RGBQUAD) * m_n
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-07-01 10:22 图像分割\
文件 16645 2008-02-19 21:22 图像分割\cdib.cpp
文件 1948 2008-02-19 21:22 图像分割\cdib.h
文件 28868 2010-01-08 23:24 图像分割\DivideImage.aps
文件 2388 2010-01-08 23:28 图像分割\DivideImage.clw
文件 4299 2009-10-04 23:30 图像分割\DivideImage.cpp
文件 4780 2009-10-04 23:39 图像分割\DivideImage.dsp
文件 547 2009-10-04 23:30 图像分割\DivideImage.dsw
文件 1411 2009-10-04 23:30 图像分割\DivideImage.h
文件 91136 2010-01-08 23:30 图像分割\DivideImage.ncb
文件 54784 2010-01-08 23:30 图像分割\DivideImage.opt
文件 2087 2010-01-08 23:24 图像分割\DivideImage.plg
文件 11754 2009-10-04 23:38 图像分割\DivideImage.rc
文件 1996 2009-10-04 23:35 图像分割\DivideImageDoc.cpp
文件 1561 2009-10-04 23:32 图像分割\DivideImageDoc.h
文件 4118 2009-10-05 00:18 图像分割\DivideImageView.cpp
文件 1899 2009-10-05 00:05 图像分割\DivideImageView.h
文件 2512 2009-10-04 23:30 图像分割\MainFrm.cpp
文件 1581 2009-10-04 23:30 图像分割\MainFrm.h
文件 4431 2009-10-04 23:30 图像分割\ReadMe.txt
目录 0 2010-06-30 09:39 图像分割\res\
文件 645 2009-10-04 23:38 图像分割\resource.h
文件 1078 2009-10-04 23:30 图像分割\res\DivideImage.ico
文件 403 2009-10-04 23:30 图像分割\res\DivideImage.rc2
文件 1078 2009-10-04 23:30 图像分割\res\DivideImageDoc.ico
文件 1078 2009-10-04 23:30 图像分割\res\Toolbar.bmp
文件 213 2009-10-04 23:30 图像分割\StdAfx.cpp
文件 1054 2009-10-04 23:30 图像分割\StdAfx.h
文件 44593 2010-06-30 10:02 图像分割\Visual C++.jpg
- 上一篇:JadClipse+Jad
- 下一篇:JPEG2000图像编解码 源码
相关资源
- 基于OpenCV的数字识别468815
- 带式输送机托辊红外图像分割与定位
- 基于libsvm的图像分割代码
- 基于朴素贝叶斯分类法的图像分割
- 复杂背景与天气条件下的棉花叶片图
- 舌图像分割
- 图像分割方法在遥感图像分析中的应
-
Accurate subpixel edge location ba
sed on pa - 图像分割算法研究区域分割,数学形
- 基于图切算法的交互式图像分割技术
- 纹理图像分割论文+代码
- Dence CRF 条件随机场图像分割
- 图像分割-章毓晋
- Matalb图像分割边缘检测算子比较
- 交互式图像分割——算法与系统
- ITK入门教程_医学图像分割与配准_高清
- Canny算子分割遥感影像
- 分水岭图像分割算法C++程序源代码
- 基于形态学的图像分割 图片版
- CrackForest数据集
- 基于粒子群优算法的最大熵多阈值图
- 医学图像分割与配准(ITK实现 全2册)
- 章毓晋《图像分割》.PDF
- image segmentor source code and release 图像分
- 图像分割算法的实现
- 经典纹理图像分割论文+代码
- 医学图像分割全部代码
- 基于PCNN的彩色图像自动分割毕业论文
- CUDA的图像分割并行算法的设计与实现
- 马尔科夫随机场图像分割ICM代码
评论
共有 条评论