资源简介
VS2017编译通过 彩色图像基本处理 灰度 亮度 对比度 平滑处理 低通滤波 锐化处理 高通滤波 增强 特效处理 图像浮雕 马赛克
代码片段和文件信息
#include “stdafx.h“
#include “cdib.h“
#include “windowsx.h“
#include “math.h“
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)
CDib::CDib()
{
// size=0;
// LoadFile();
}
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();
DWORD size = fileLength -
sizeof(BITMAPFILEHEADER);
BYTE* 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;
colorTableSize = m_numberOfColors *
sizeof(RGBQUAD);
//////////////////////////////////////////////////////////
// if(m_pBitmapInfoHeader->biBitCount==24)
// m_pData = pDib + m_pBitmapInfoHeader->biSize;
/// else
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(by
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 31232 2019-09-02 20:20 24color\.vs\DSPLIT\v14\.suo
文件 9951 2019-08-24 15:29 24color\Cdib.cpp
文件 934 2003-04-09 17:47 24color\Cdib.h
文件 22563 2019-09-02 20:13 24color\Debug\Cdib.obj
文件 178688 2019-09-02 20:13 24color\Debug\DSplit.exe
文件 1953376 2019-09-02 20:13 24color\Debug\DSplit.ilk
文件 1425 2019-09-02 20:13 24color\Debug\DSplit.log
文件 41802 2019-09-02 20:13 24color\Debug\DSplit.obj
文件 36700160 2019-09-02 20:13 24color\Debug\DSplit.pch
文件 5664768 2019-09-02 20:13 24color\Debug\DSplit.pdb
文件 10464 2019-09-02 20:13 24color\Debug\DSplit.res
文件 20338 2019-09-02 20:13 24color\Debug\DSplit.tlog\CL.command.1.tlog
文件 107210 2019-09-02 20:13 24color\Debug\DSplit.tlog\CL.read.1.tlog
文件 17588 2019-09-02 20:13 24color\Debug\DSplit.tlog\CL.write.1.tlog
文件 224 2019-09-02 20:13 24color\Debug\DSplit.tlog\DSplit.lastbuildstate
文件 6946 2019-09-02 20:13 24color\Debug\DSplit.tlog\li
文件 17850 2019-09-02 20:13 24color\Debug\DSplit.tlog\li
文件 5366 2019-09-02 20:13 24color\Debug\DSplit.tlog\li
文件 966 2019-09-02 20:13 24color\Debug\DSplit.tlog\rc.command.1.tlog
文件 6838 2019-09-02 20:13 24color\Debug\DSplit.tlog\rc.read.1.tlog
文件 634 2019-09-02 20:13 24color\Debug\DSplit.tlog\rc.write.1.tlog
文件 93552 2019-09-02 20:13 24color\Debug\DSplitDoc.obj
文件 45849 2019-09-02 20:13 24color\Debug\DSplitView.obj
文件 33551 2019-09-02 20:13 24color\Debug\DynSplitterWnd.obj
文件 69236 2019-09-02 20:13 24color\Debug\DynSplitView2.obj
文件 20235 2019-09-02 20:13 24color\Debug\LightDlg.obj
文件 74068 2019-09-02 20:13 24color\Debug\MainFrm.obj
文件 46739 2019-09-02 20:13 24color\Debug\MakeColorDib.obj
文件 20317 2019-09-02 20:13 24color\Debug\ontrastDlg.obj
文件 20592 2019-09-02 20:13 24color\Debug\PaintColorDlg.obj
............此处省略65个文件信息
相关资源
- kinect彩色图像对齐到深度并显示结果
- 基于dwt的数字水印彩色图像水印的嵌
- 数字图像处理图片集256彩色图像
- 数字图像处理-彩色图像基础
- kinectV2.0深度图像与彩色图像的坐标映
- KinectV2 彩色图像上融合人体骨骼图
- 极化SAR彩色图像合成
- 基于奇异值与提升小波的彩色图像水
- 数据预处理之剔除异常值及平滑处理
- 基于小波变换的彩色图像分割
- 色彩改进型Retinex彩色图像增强方法
- OpenCV使用特殊颜色标记彩色图像轮廓
- Kinect获取彩色图像并保存为jpg图片
- 彩色图像放大并锐化增强
- 图片基本处理裁剪,反白,改变位深
- 点云数据基本处理及应用
- 彩色图像转换软件
- 基于ISODATA算法的彩色图像分割_万建
- MRT处理modis数据
- 彩色图像处理RGB=YUV,直方图均衡,白
- 对彩色图像进行调整。自动对亮度、
- bfilter2灰度及彩色图像Bilateral滤波实现
评论
共有 条评论