• 大小: 24.07MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-02
  • 语言: C/C++
  • 标签: 图像处理  

资源简介

买的书附带的光盘资料,主要是C++对于图像的处理,包含有本书的PDF和书中源码~,想学就不用再买书了~

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “cdib.h“
#include “windowsx.h“
#include “math.h“
#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4) 

CDib::CDib()
{
size=0;
}

CDib::~CDib()
{
    GlobalFreePtr(m_pBitmapInfo);
}

void CDib::LoadFile(const char* dibFileName)
{
   strcpy(m_fileNamedibFileName);
    CFile dibFile(m_fileName CFile::modeRead);
    dibFile.Read((void*)&bitmapFileHeadersizeof(BITMAPFILEHEADER));
    if (bitmapFileHeader.bfType == 0x4d42)
    {
        DWORD fileLength = dibFile.GetLength();    
         size = fileLength -sizeof(BITMAPFILEHEADER);
         pDib =(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE size);
        dibFile.Read((void*)pDib size);
        dibFile.Close();
        m_pBitmapInfo = (BITMAPINFO*) pDib;
        m_pBitmapInfoHeader = (BITMAPINFOHEADER*) pDib;
        m_pRGB = (RGBQUAD*)(pDib +
m_pBitmapInfoHeader->biSize);
        int m_numberOfColors = GetNumberOfColors();
        if (m_pBitmapInfoHeader->biClrUsed == 0)
            m_pBitmapInfoHeader->biClrUsed =
    m_numberOfColors;
        DWORD colorTableSize = m_numberOfColors *
            sizeof(RGBQUAD);
        m_pData = pDib + m_pBitmapInfoHeader->biSize
            + colorTableSize;
if (m_pRGB == (RGBQUAD*)m_pData) // No color table
m_pRGB = NULL;
        m_pBitmapInfoHeader->biSizeImage = GetSize();
m_valid = TRUE;
    }    
    else
    {
        m_valid = FALSE;
        AfxMessageBox(“This isn‘t a bitmap file!“);
    }
}

BOOL CDib::IsValid()
{
    return m_valid;
}
        
char* CDib::GetFileName()
{
    return m_fileName;
}
        
UINT CDib::GetWidth()
{
    return (UINT) m_pBitmapInfoHeader->biWidth;
}
        
UINT CDib::GetHeight()
{
    return (UINT) m_pBitmapInfoHeader->biHeight;
}
        
DWORD CDib::GetSize()
{
    if (m_pBitmapInfoHeader->biSizeImage != 0)
        return m_pBitmapInfoHeader->biSizeImage;
else
    {
        DWORD height = (DWORD) GetHeight();
        DWORD width = (DWORD) GetWidth();
        return height * width;
    }
}

UINT CDib::GetNumberOfColors()
{
int numberOfColors;

    if ((m_pBitmapInfoHeader->biClrUsed == 0) &&
          (m_pBitmapInfoHeader->biBitCount < 9))
{
switch (m_pBitmapInfoHeader->biBitCount)
{
    case 1: numberOfColors = 2; break;
    case 4: numberOfColors = 16; break;
    case 8: numberOfColors = 256;
}
}
    else
numberOfColors = (int) m_pBitmapInfoHeader->biClrUsed;

    return numberOfColors;
}
DWORD CDib::GetDibWidthBytes()
{  
byBitCount=m_pBitmapInfoHeader->biBitCount;
LONG nWidth=m_pBitmapInfoHeader->biWidth;

dwWidthBytes = (DWORD)m_pBitmapInfoHeader->biWidth; //8-bits
if(byBitCount == 1) dwWidthBytes = (nWidth + 7) / 8;
else if(byBitCount == 4) dwWidthBytes = (nWidth + 1) / 2;
else if(byBitCount == 24) dwWidthBytes = 3 * nWidth ;

while((dwWidthBytes & 3) != 0)dwWidthBytes++;

return dwWidthBytes;

}  
    
BYTE* CDib::GetData()
{
    r

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件   14466078  2009-08-24 17:23  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\VC++图像处理程序设计(杨淑莹).pdf

     文件     196662  2004-08-31 09:09  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\24位图.bmp

     文件       4654  2004-08-19 16:58  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\CDIB.CPP

     文件        883  2004-08-19 16:48  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Cdib.h

     文件       1044  2004-08-13 16:14  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog1.cpp

     文件       1178  2003-04-05 09:10  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog1.h

     文件        965  2004-08-13 16:21  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog2.cpp

     文件       1198  2003-04-17 23:08  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog2.h

     文件       1049  2004-08-13 16:21  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog3.cpp

     文件       1218  2003-04-18 07:53  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dialog3.h

     文件      50812  2013-12-23 17:03  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSplit.aps

     文件       5693  2013-12-26 20:50  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSPLIT.CLW

     文件       4158  2003-04-01 08:51  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dsplit.cpp

     文件       5534  2003-04-18 07:54  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSplit.dsp

     文件        579  1999-01-28 11:36  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSPLIT.DSW

     文件       1419  2003-04-05 09:56  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dsplit.h

     文件    1262592  2013-12-26 20:50  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSPLIT.NCB

     文件      86016  2013-12-26 20:50  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSPLIT.OPT

     文件        873  2013-12-26 20:50  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSPLIT.PLG

     文件      16352  2013-12-23 17:03  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSplit.rc

     文件       2008  2003-04-01 08:45  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSplitDoc.cpp

     文件       1495  2003-04-03 14:09  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DSplitDoc.h

     文件       3238  2003-04-03 14:25  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dsplitview.cpp

     文件       1885  2003-04-03 14:28  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\Dsplitview.h

     文件       6439  2003-04-02 10:18  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DYNSPLITTERWND.CPP

     文件       1733  1998-03-10 17:19  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DYNSPLITTERWND.H

     文件       8635  2004-08-20 20:57  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DynSplitView2.cpp

     文件       2115  2004-08-19 12:57  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\DynSplitView2.h

     文件       3550  2003-04-05 09:08  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\MAINFRM.CPP

     文件       1691  2003-04-02 17:00  VC++图像处理程序设计(杨淑莹)清晰版 PDF + 源码\第9章图像的变换域处理\频域滤波\MAINFRM.H

............此处省略782个文件信息

评论

共有 条评论