资源简介
图像复原代码。运动模糊图像复原、非约束复原、逆滤波复原、维纳滤波复原等
代码片段和文件信息
// cdib.cpp
#include “stdafx.h“
#include “math.h“
#include “process.h“
#include “cdib.h“
#include “GlobalApi.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// 声明串行化过程
IMPLEMENT_SERIAL(CDib Cobject 0);
/*************************************************************************
*
* \函数名称:
* CDib()
*
* \输入参数:
* 无
*
* \返回值:
* 无
*
* \说明:
* 构造函数
*
************************************************************************
*/
CDib::CDib()
{
m_hFile = NULL;
m_hBitmap = NULL;
m_hPalette = NULL;
m_nBmihAlloc = m_nImageAlloc = noAlloc;
Empty();
}
/*************************************************************************
*
* \函数名称:
* CDib()
*
* \输入参数:
* CSize size - 位图尺寸
* int nBitCount - 象素位数
*
* \返回值:
* 无
*
* \说明:
* 构造函数
* 根据给定的位图尺寸和象素位数构造CDib对象,并对信息头和调色板分配内存
* 但并没有给位图数据分配内存
*
************************************************************************
*/
CDib::CDib(CSize size int nBitCount)
{
m_hFile = NULL;
m_hBitmap = NULL;
m_hPalette = NULL;
m_nBmihAlloc = m_nImageAlloc = noAlloc;
Empty();
// 根据象素位数计算调色板尺寸
ComputePaletteSize(nBitCount);
// 分配DIB信息头和调色板的内存
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;
// 计算图象数据内存的大小,并设置此DIB的调色板的指针
ComputeMetrics();
// 将此DIB的调色板初始化为0
memset(m_lpvColorTable 0 sizeof(RGBQUAD) * m_nColorTableEntries);
// 暂时不分配图象数据内存
m_lpImage = NULL;
}
/*************************************************************************
*
* \函数名称:
* ~CDib()
*
* \输入参数:
* 无
*
* \返回值:
* 无
*
* \说明:
* 析构函数,并释放所有分配的DIB内存
*
************************************************************************
*/
CDib::~CDib()
{
Empty();
}
/*************************************************************************
*
* \函数名称:
* GetDimensions()
*
* \输入参数:
* 无
*
* \返回值:
* CSize - DIB的宽度和高度
*
* \说明:
* 返回以象素表示的DIB的宽度和高度
*
************************************************************************
*/
CSize CDib::GetDimensions()
{
if(m_lpBMIH == NULL) return CSize(0 0);
return CSize((int) m_lpBMIH->biWidth (int) m_lpBMIH->biHeight);
}
/*************************************************************************
*
* \函数名称:
* AttachMapFile()
*
* \输入参数:
* const char* strPathname - 映射文件的路径名
* BOOL bShare -
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 38635 2006-05-29 17:09 ImageRestore\cdib.cpp
文件 3645 2006-05-29 17:09 ImageRestore\cdib.h
文件 1542 2006-05-29 17:09 ImageRestore\ChildFrm.cpp
文件 1397 2006-05-29 17:09 ImageRestore\ChildFrm.h
文件 65095 2006-05-29 17:09 ImageRestore\ColorTable.h
文件 57 2006-05-29 17:09 ImageRestore\Default.SUP
文件 17030 2006-05-29 17:09 ImageRestore\DIBPrcs.cpp
文件 35187 2006-05-29 17:09 ImageRestore\FreTrans.cpp
文件 9174 2006-05-29 17:09 ImageRestore\GlobalApi.h
文件 60204 2006-05-29 17:09 ImageRestore\ImageProcessing.aps
文件 6013 2006-05-29 17:09 ImageRestore\ImageProcessing.clw
文件 4918 2006-05-29 17:09 ImageRestore\ImageProcessing.cpp
文件 1342 2006-05-29 17:09 ImageRestore\ImageProcessing.h
文件 1328128 2006-05-29 17:09 ImageRestore\ImageProcessing.ncb
文件 58880 2006-05-29 17:09 ImageRestore\ImageProcessing.opt
文件 1930 2006-05-29 17:09 ImageRestore\ImageProcessing.plg
文件 16593 2006-05-29 17:09 ImageRestore\ImageProcessing.rc
文件 4363 2006-05-29 17:09 ImageRestore\ImageProcessingDoc.cpp
文件 1643 2006-05-29 17:09 ImageRestore\ImageProcessingDoc.h
文件 8258 2006-05-29 17:09 ImageRestore\ImageProcessingView.cpp
文件 2291 2006-05-29 17:09 ImageRestore\ImageProcessingView.h
文件 4685 2006-05-29 17:09 ImageRestore\ImageView.cpp
文件 5429 2006-05-29 17:09 ImageRestore\IMBRestore.dsp
文件 550 2006-05-29 17:09 ImageRestore\IMBRestore.dsw
文件 82944 2006-05-29 17:09 ImageRestore\IMBRestore.ncb
文件 53760 2006-05-29 17:09 ImageRestore\IMBRestore.opt
文件 2844 2006-05-29 17:09 ImageRestore\IMBRestore.plg
文件 555 2006-05-29 17:09 ImageRestore\IMGRestore.dsw
文件 82944 2006-05-29 17:09 ImageRestore\IMGRestore.ncb
文件 43520 2006-05-29 17:09 ImageRestore\IMGRestore.opt
............此处省略19个文件信息
- 上一篇:SSD1答案
- 下一篇:传奇脱机挂VC源码.rar
相关资源
- STM32F4 串口DMA发送接收方式代码例程
- Qt从零开始制作串口调试助手源代码(
- 编译原理优先算法代码,及详细实验
- 广工 计算机网络课程设计 端口扫描器
- 基于winpcap协议分析器源代码
- 读取STC单片机ID号,用CRC-ITU算法加密
- FTP服务器和客户端源代码 vs2010能运行
- 多尺度的KCF算法代码
- 103规约主站侧源代码
- flash小游戏源代码
- JS代码高亮插件SyntaxHighlighter
- vfp学籍管理系统源代码及说明
- 毕业设计--封面+开题报告+代码+答辩
- PSOGSA代码
- 文件程序传输源代码
- flash 打鸭子游戏 源代码
- RTKLIB代码在VS下调试输出pos.trace.stat文
- 电能计量芯片att7022程序代码
- SIFT算法实现及代码详解
- 24c04系列读写代码
- 校际运动会管理系统报告+源代码
- udp flood攻击
- 最小bootloader的实现完整源代码
- 汇编语言各种数制之间转换的详解代
- AES 加密verilog代码
- IntelliJ IDEA Maven Mybatis generator 自动生成
- IPv4协议转发实验报告含代码
- 汇编语言课程设计案例精编源代码
- 5G标准下LDPC编码C代码
- MIL图像新建和显示演示代码
评论
共有 条评论