分水岭图像分割算法C++程序源代码
标签:
•
文件类型: .rar
•
文件大小: 1.06MB
•
下载次数: 1
•
图像处理,本程序实现了用分水岭算法实现图像分割。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 741 1999-09-21 14:31 WaterShedImageErrors.h
文件 3904 1999-09-22 11:12 WaterShedImageload.h
文件 15566 1997-03-26 12:15 WaterShedImageLoad.lib
文件 60290 2004-06-05 17:20 WaterShedImageobject.cpp
文件 7435 2004-06-05 17:20 WaterShedImageobject.h
文件 2508 2008-05-20 14:21 WaterShedMainFrm.cpp
文件 1639 2008-05-19 23:34 WaterShedMainFrm.h
文件 14223 2008-05-19 23:39 WaterShedMyMath.cpp
文件 3392 2008-05-20 13:18 WaterShedMyMath.h
文件 4383 2008-05-19 22:08 WaterShedReadMe.txt
文件 688 2008-05-20 13:47 WaterShedResource.h
文件 211 2008-05-19 22:08 WaterShedStdAfx.cpp
文件 1054 2008-05-19 22:08 WaterShedStdAfx.h
文件 32524 2009-03-25 09:38 WaterShedWaterShed.aps
文件 2378 2009-05-23 22:35 WaterShedWaterShed.clw
文件 4263 2008-05-19 22:08 WaterShedWaterShed.cpp
文件 4984 2008-05-20 13:47 WaterShedWaterShed.dsp
文件 543 2008-05-22 16:18 WaterShedWaterShed.dsw
文件 1389 2008-05-19 22:08 WaterShedWaterShed.h
文件 230400 2009-05-23 22:51 WaterShedWaterShed.ncb
文件 1495 2009-03-25 17:00 WaterShedWaterShed.plg
文件 11791 2008-05-20 14:21 WaterShedWaterShed.rc
文件 3192 2008-05-20 15:05 WaterShedWaterShedDoc.h
文件 4305 2008-05-19 23:53 WaterShedWaterShedView.cpp
文件 2222 2008-05-19 22:22 WaterShedWaterShedView.h
文件 33136 2009-03-25 17:00 WaterShedWaterShedDoc.cpp
文件 147968 2009-05-23 22:51 WaterShedWaterShed.opt
..A.SHR 9 2009-08-10 17:48 WaterShedDesktop_1.ini
..A.SHR 9 2009-08-10 17:46 WaterShedDesktop_2.ini
文件 94678 2004-05-29 19:32 WaterShed
esitmap3.bmp
............此处省略48个文件信息
// Imageobject.cpp: implementation of the CImageobject class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Imageobject.h“
#include “ImageLoad.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_DYNCREATE( CImageobject Cobject )
char *CImageobject::pszExtensions[] = { “.bmp“ “.gif“ “.pcx“ “.tga“ “.jpg“ “.tif“ ““ };
//////////////////////////////////////////////////
// Constructor and destructor
//
CImageobject::CImageobject()
{
m_nWidth = m_nHeight = m_nBits = m_nColors = m_nImageType = 0;
m_nX = m_nY = 0;
m_nLastError = 0;
m_hDib = NULL;
m_nPaletteCreationType = JGPT_FIXED_PALETTE;
m_pszFileName = NULL;
m_pLogPalette = NULL;
m_nQuality = 80;
m_pDib = NULL;
m_lBufSize = 0;
}
CImageobject::CImageobject( const char *pszFileName CDC *pDC int nX int nY )
{
m_nWidth = m_nHeight = m_nBits = m_nColors = m_nImageType = 0;
m_nX = m_nY = 0;
m_nLastError = 0;
m_hDib = NULL;
m_nPaletteCreationType = JGPT_FIXED_PALETTE;
m_pszFileName = NULL;
m_pLogPalette = NULL;
m_nQuality = 80;
m_pDib = NULL;
m_lBufSize = 0;
LoadFromFile( pszFileName pDC nX nY );
}
void CImageobject::operator=( const CImageobject &Imageobject )
{
DestroyImage();
m_nLastError = Imageobject.m_nLastError;
m_nWidth = Imageobject.m_nWidth;
m_nHeight = Imageobject.m_nHeight;
m_nPlanes = Imageobject.m_nPlanes;
m_nBits = Imageobject.m_nBits;
m_nColors = Imageobject.m_nColors;
m_nImageType = Imageobject.m_nImageType;
m_nX = Imageobject.m_nX;
m_nY = Imageobject.m_nY;
m_nScreenPlanes = Imageobject.m_nScreenPlanes;
m_nScreenBits = Imageobject.m_nScreenBits;
m_nPaletteInBytes = Imageobject.m_nPaletteInBytes;
m_nQuality = Imageobject.m_nQuality;
m_nPaletteCreationType = Imageobject.m_nPaletteCreationType;
int nNumColors = m_nColors;
int nWidthBytes = GetWidthInBytes( m_nBits m_nWidth );
if( Imageobject.m_hDib != NULL )
{
DWORD dwSize = ::GlobalSize( Imageobject.m_hDib );
char *pData = ( char * )::GlobalLock( Imageobject.m_hDib );
if( pData != NULL )
{
HGLOBAL hGlobal = ::GlobalAlloc( GMEM_MOVEABLE | GMEM_ZEROINIT dwSize );
if( hGlobal != NULL )
{
char *pDestData = ( char * )::GlobalLock( hGlobal );
if( pDestData != NULL )
{
memcpy( pDestData pData dwSize );
if( nNumColors != 0 )
CreatePaletteFromDIB( ( RGBQUAD * )&pData[sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)] nNumColors );
else if( Imageobject.m_pLogPalette != NULL )
{
m_pLogPalette = (LOGPALETTE *) new char[ sizeof( LOGPALETTE ) + Imageobject.m_pLogPalette->palNumEntries * sizeof( PALETTEENTRY ) ];
if( m_pLogPalette != NULL )
{
for( int i=0; iject.m_pLogPalette->palNumEntries; i++ )
m_pLogPalette[i] = Imageobject.m_pLogPalette[i];
m_Palette.CreatePalett
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 741 1999-09-21 14:31 WaterShedImageErrors.h
文件 3904 1999-09-22 11:12 WaterShedImageload.h
文件 15566 1997-03-26 12:15 WaterShedImageLoad.lib
文件 60290 2004-06-05 17:20 WaterShedImageob
文件 7435 2004-06-05 17:20 WaterShedImageob
文件 2508 2008-05-20 14:21 WaterShedMainFrm.cpp
文件 1639 2008-05-19 23:34 WaterShedMainFrm.h
文件 14223 2008-05-19 23:39 WaterShedMyMath.cpp
文件 3392 2008-05-20 13:18 WaterShedMyMath.h
文件 4383 2008-05-19 22:08 WaterShedReadMe.txt
文件 688 2008-05-20 13:47 WaterShedResource.h
文件 211 2008-05-19 22:08 WaterShedStdAfx.cpp
文件 1054 2008-05-19 22:08 WaterShedStdAfx.h
文件 32524 2009-03-25 09:38 WaterShedWaterShed.aps
文件 2378 2009-05-23 22:35 WaterShedWaterShed.clw
文件 4263 2008-05-19 22:08 WaterShedWaterShed.cpp
文件 4984 2008-05-20 13:47 WaterShedWaterShed.dsp
文件 543 2008-05-22 16:18 WaterShedWaterShed.dsw
文件 1389 2008-05-19 22:08 WaterShedWaterShed.h
文件 230400 2009-05-23 22:51 WaterShedWaterShed.ncb
文件 1495 2009-03-25 17:00 WaterShedWaterShed.plg
文件 11791 2008-05-20 14:21 WaterShedWaterShed.rc
文件 3192 2008-05-20 15:05 WaterShedWaterShedDoc.h
文件 4305 2008-05-19 23:53 WaterShedWaterShedView.cpp
文件 2222 2008-05-19 22:22 WaterShedWaterShedView.h
文件 33136 2009-03-25 17:00 WaterShedWaterShedDoc.cpp
文件 147968 2009-05-23 22:51 WaterShedWaterShed.opt
..A.SHR 9 2009-08-10 17:48 WaterShedDesktop_1.ini
..A.SHR 9 2009-08-10 17:46 WaterShedDesktop_2.ini
文件 94678 2004-05-29 19:32 WaterShed
esitmap3.bmp
............此处省略48个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)