资源简介
图像处理课设,包括灰度阈值变换、灰度的窗口变换、灰度拉伸、图像的直方图均衡化、滤镜、图像的膨胀,腐蚀,开启,闭合,求内边界,求外边界等操作
代码片段和文件信息
// MyDib.cpp: implementation of the CDib class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Dib.h“
#include
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
/*
* Dib文件头标志(字符串“BM“)
*/
#define DIB_MARKER ((WORD) (‘M‘ << 8) | ‘B‘)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDib::CDib()
{
InitMembers();
}
CDib::~CDib()
{
ClearMemory();
}
/*************************************************************************
* 函数名称:DrawDib()
* 参数说明:
* HDC hDC,输出设备DC
* LPRECT lpDCRect,绘制矩形区域
* HGLOBAL hDIB ,DIB对象的句柄
* LPRECT lpDIBRect ,DIB的输出区域
* CPalette* pPal,调色板的指针
* 函数类型:BOOL
* 函数功能:该函数主要用来绘制DIB对象
************************************************************************/
BOOL CDib::DrawDib(HDC hDC
LPRECT lpDCRect
HGLOBAL hDIB
LPRECT lpDIBRect
CPalette* pPal)
{
BOOL bSuccess=FALSE; // 重画成功标志
HPALETTE hOldPal=NULL; // 以前的调色板
if (hDIB == NULL)// 判断是否是有效的DIB对象
{
return FALSE;// 不是,则返回
}
lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 锁定DIB
lpDIBBits = GetBits(lpdib);// 找到DIB图象像素起始位置
if (pPal != NULL)// 获取DIB调色板,并选取到设备环境中它
{
HPALETTE hPal = (HPALETTE) pPal->m_hobject;
hOldPal = ::SelectPalette(hDC hPal TRUE);
}
::SetStretchBltMode(hDC COLORONCOLOR);// 设置显示模式
bSuccess = ::StretchDIBits(hDC // 设备环境句柄
lpDCRect->left //目标X坐标
lpDCRect->top // 目标Y坐标
GetRectWidth(lpDCRect) // 目标宽度
GetRectHeight(lpDCRect) // 目标高度
lpDIBRect->left // 源X坐标
lpDIBRect->top // 源Y坐标
GetRectWidth(lpDIBRect) // 源宽度
GetRectHeight(lpDIBRect) // 源高度
lpDIBBits // 指向dib像素的指针
(LPBITMAPINFO)lpdib // 指向位图信息结构的指针
DIB_RGB_COLORS // 使用的颜色数目
SRCCOPY); // 光栅操作类型
::GlobalUnlock(hDIB); // 解除锁定
if (hOldPal != NULL)// 恢复系统调色板
{
::SelectPalette(hDC hOldPal TRUE);
}
return bSuccess;
}
/*************************************************************************
* 函数名称:ConstructPalette(HGLOBAL hDIB CPalette* pPal)
* 函数参数:
* HGLOBAL hDIB,DIB对象的句柄
* CPalette* pPal,调色板的指针
* 函数类型:BOOL
* 函数说明:该函数按照DIB创建一个逻辑调色板
************************************************************************/
BOOL CDib::ConstructPalette(HGLOBAL hDIB CPalette* pPal)
{
HANDLE hLogPal;// 逻辑调色板的句柄
int iLoop;// 循环变量
BOOL bSuccess = FALSE;// 创建结果
if (hDIB == NULL)//判断是否是有效的DIB对象
{
return FALSE;// 返回FALSE
}
lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 锁定DI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 308736 2017-09-15 23:26 imgtest\Debug\imgtest.exe
文件 2170620 2017-09-15 23:26 imgtest\Debug\imgtest.ilk
文件 5827584 2017-09-15 23:26 imgtest\Debug\imgtest.pdb
文件 780831 2009-07-14 13:32 imgtest\imgtest\1.bmp
文件 1 2009-08-31 02:32 imgtest\imgtest\ClassDiagram1.cd
文件 4378 2017-05-02 16:22 imgtest\imgtest\Debug\cl.command.1.tlog
文件 61886 2017-05-02 16:22 imgtest\imgtest\Debug\CL.read.1.tlog
文件 2410 2017-05-02 16:22 imgtest\imgtest\Debug\CL.write.1.tlog
文件 29202 2017-05-02 16:22 imgtest\imgtest\Debug\Dib.obj
文件 25343 2017-09-15 23:26 imgtest\imgtest\Debug\DlgDisp.obj
文件 40434 2017-09-15 23:26 imgtest\imgtest\Debug\DlgInverse_V.obj
文件 32676 2017-09-15 23:26 imgtest\imgtest\Debug\DlgInvert.obj
文件 39348 2017-09-15 23:26 imgtest\imgtest\Debug\DlgLchan.obj
文件 25219 2017-09-15 23:26 imgtest\imgtest\Debug\DlgLight.obj
文件 38887 2017-09-15 23:26 imgtest\imgtest\Debug\DlgLinvert.obj
文件 24818 2017-09-15 23:26 imgtest\imgtest\Debug\DlgMedian.obj
文件 38764 2017-09-15 23:26 imgtest\imgtest\Debug\DlgVchan.obj
文件 25506 2017-09-15 23:26 imgtest\imgtest\Debug\DSelfCtr.obj
文件 2 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.exe.em
文件 68 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.exe.em
文件 640 2017-09-15 23:26 imgtest\imgtest\Debug\imgtest.exe.intermediate.manifest
文件 75 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.lastbuildstate
文件 2959 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.log
文件 57179 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.obj
文件 33685504 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.pch
文件 85012 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.res
文件 0 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.unsuccessfulbuild
文件 713 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.vcxprojResolveAssemblyReference.cache
文件 0 2017-05-02 16:22 imgtest\imgtest\Debug\imgtest.write.1.tlog
文件 68531 2017-05-02 16:22 imgtest\imgtest\Debug\imgtestDoc.obj
............此处省略272个文件信息
- 上一篇:基于MFC编写的FTP客户端(使用VS)
- 下一篇:IQ_Test_Demo
相关资源
- VC++ 读图 分类 变化监测 几何校正
- C/C++图像处理编程
- 《数字图像处理与机器视觉》张铮等
- c++ 图像处理
- 《数字图像处理与机器视觉-VC++与Ma
- 基于opencv和MFC的多功能视频、图像处
- VC++图像处理程序设计(杨淑莹)清晰
- 遥感图像处理系统MFC
- VS2015MFC+Opencv2 打开图片及简单的图像
- 数字图像处理与机器视觉 Visual C++与
- Visual C++数字图像处理第二版光盘
- 何斌Visual C++数字图像处理第二版原书
- 精通Visual C++数字图像处理典型算法及
- VC++图像处理程序设计
- 杨淑莹 数字图像处理VC++ 源代码 全
- 精通Visual C++数字图像处理典型算法及
- OpenCV MFC 图像处理 软件源码
- 数字图像处理与机器视觉原书pdf版
- 数字图像处理与机器视觉 visual C++与
- 适用于vc6++的openCV1.0
- OpenCV MFC实现图像处理大集合
- 杨淑英VC++图像处理程序设计配套光盘
- Visual_C++_MATLAB图像处理与识别实用案例
- Visual C++/MATLAB图像处理与识别实用案例
- VC++数字图像处理
- VC数字图像处理杨淑莹北京交通大学
- 精通Visual C++图像处理编程(PDF & 源代
- 《Visual C++ 数字图像处理》 谢凤英 高
- VC基本图像处理源码集
- c++ 图像处理(旋转、水平镜像等)
评论
共有 条评论