图像处理方面(基于C++)
文章平均质量分 85
辉哥聊职场聊家庭
一名有温度的IT从业者。 曾就职于ATM等top互联网大厂,央企研究所。 不定期分享职场 | 婚姻 | 育儿 | 个人成长心得体会,关注我,和我一起成长。
展开
-
从文件对话框中读取一幅bmp图片,并解析图片信息(eg:获取分辨率)
void CCameraTest2View::OnOpen() {// TODO: Add your control notification handler code here//////////////////////////////////////////////////////////////////////////////读文件获取图片////////////////原创 2014-03-18 10:17:09 · 2874 阅读 · 0 评论 -
VC数字图像处理编程讲座
VC数字图像处理编程讲座 2003-10-30 刘涛 作者授权转载 前 言 数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。 “图”是物体透射光或反射光的分布,“像”是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类转载 2014-04-03 18:55:16 · 1466 阅读 · 0 评论 -
VC数字图像处理编程(转载)
VC数字图像处理编程(转载)分类: 数字图像处理前 言 "图"是物体透射光或反射光的分布,"像"是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约80%左右)来自视觉所接收的图像信息。图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的需要。简单的说,依靠计算机对图像进转载 2014-04-03 18:56:57 · 2161 阅读 · 0 评论 -
位图(图像处理入门)
1,Windows的位图实际上是一些和显示象素相对应的位阵列。2,GDI位图是设备相关位图,用MS基本类库(MFC)中的CBitmap类表示的,依赖具体的设备。3,DIB设备无关位图,比GDI位图有许多编程优势。任何运行Windows的机器都可以处理DIB位图。DIB位图通常以.BMP文件形式保留在磁盘中,或作为资源保存在程序的EXE或DLL文件中。WIN32API只直接支持DIB转载 2014-04-01 21:39:19 · 1988 阅读 · 0 评论 -
图像处理中GlobalAlloc、GlobalLock、GlobalUnLock
GlobalAlloc、GlobalLock、GlobalUnLock 调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指转载 2014-04-04 15:22:25 · 807 阅读 · 0 评论 -
数码摄影入门:焦距是什么?
焦距是摄影师在拍摄时必须掌握的一个重要参数,但是对于新手来说往往不知道焦距意味着什么,只是一味地将焦距配备齐全。焦距既是一个需要经验来驾驭的参数,也是一个很好理解其作用的参数。今天就为大家讲解焦距到底是什么。 焦距就是镜头中心点到感光器平面的距离。焦距的概念不用记。只要记住焦距的两个特点就可以了——视角、透视。焦距与视角 每个镜头都有转载 2014-03-25 20:01:34 · 1457 阅读 · 0 评论 -
实例解说双缓冲
本文适合初学者(转自 VC知识库 Blog HateMath 的网上田园)昨天在论坛上,有人问起双缓冲的实现问题,想起网上这方面资料比较凌乱,而且多是 DirectX 相关的,今天特地在这里给大家简要的介绍一下双缓冲技术及其在 VC++ 的 GDI 绘图环境下的实现。1、Windows 绘图原理我们在 Windows 环境下看到各种元素,如菜单、按钮、窗口、图像,从根本上说,都是“转载 2014-03-26 10:20:00 · 952 阅读 · 0 评论 -
加载一张bmp图片作为MFC对话框的背景
先在资源里导入你的位图,分配好ID号;在OnPaint()函数中:if (IsIconic()) {……} else { //CDialog::OnPaint();把这个注释掉,不调用基类的OnPaint() CPaintDC dc(this); CDC memdc; memdc.CreateCompatibleDC转载 2014-04-08 14:25:28 · 2052 阅读 · 0 评论 -
比较好的一段打开位图的函数
void CPicShowDlg::OnOpen() {// TODO: Add your control notification handler code hereCFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY,"BMP Files(*.bmp)|*.bmp||"); if(dlg.DoModal() != IDOK)原创 2014-04-11 10:12:20 · 979 阅读 · 0 评论 -
MFC VC 双缓冲绘图基本原理与实现,详细解释
MFC VC 双缓冲绘图基本原理与实现,详细解释MFC做了一些时间了,不得不面对 的是在界面上画图的。当然你可以直接搜索到能用的代码,并且基本能满足要求。不过这样总不是学习的态度。本着学习分享的态度,现做一些基本的分析吧。在MSDN上知道,我们画图的对象都是窗口的DC,WINDOWS的绘图更新时,总是用背景色先填充这个区域,然后才是我们的绘图代码,这就是说,转载 2014-04-11 15:43:06 · 877 阅读 · 0 评论 -
8位灰度图像BMP的保存(很好的一篇文章)
在图像处理中,我们经常需要将真彩色图像转换为黑白图像。严格的讲应该是灰度图,因为真正的黑白图像是二色,即只有纯黑,纯白二色。开始之前,我们先简单补充一下计算机中图像的表示原理。计算机中的图像大致可以分成两类:位图(Bitmap)和矢量图(Metafile)。 位图可以视为一个二维的网格,整个图像就是由很多个点组成的,点的个数等于位图的宽乘以高。每个点被称为一个像素点,每个像素点有确定的颜色,当很多转载 2014-04-18 19:55:32 · 5101 阅读 · 1 评论 -
关于位图中【调色板】、DDB、DIB的概念
一、调色板1.我们知道,自然界中的所有颜色都可以由红、绿、蓝(R,G,B)三基色组合而成。而计算机对于像素的处理,用一个字节,将每种基色分为了256种等级,那么红、绿、蓝的不同组合共有256*256*256=16777216种,如此之多的组合,对于人眼的辨别能力来说,已经相当足够了,这就是我们平时所说的"真彩色".对每个像素进行了(R,G,B)量化的图像就是位图,其在计算机中对应文件的扩展转载 2014-04-02 17:28:44 · 3169 阅读 · 0 评论 -
关于中值滤波算法,以及C语言实现
1、什么是中值滤波?中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。中值滤波可以过滤尖峰脉冲。目的在于我们对于滤波后的数据更感兴趣。滤波后的数据保留的原图像的变化趋势,同时去除了尖峰脉冲对分析造成的影响。 以一维信号的中值原创 2014-04-01 14:58:09 · 83856 阅读 · 12 评论 -
MFC作图过程 中,一些封装好了比较好用的函数
一、/*功能:绘制模块边框参数:pDC: 绘图指针*/bool AlarmMod::drawBackground(CDC *pDC){//灰色COLORREF colorGray = RGB(200,200,200);//设置画笔及颜色CPen pen,*poldpen;//创建画笔pen.CreatePen(PS_SOLID,3,color原创 2014-03-31 16:11:05 · 1348 阅读 · 0 评论 -
理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
BitBlt和StretchBlt是CDC类位图操作函数,用于DDB的位图操作。BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop)BOOL StretchBlt(HDC hdcDest, int nXOrigi转载 2014-04-01 20:12:12 · 1559 阅读 · 0 评论 -
图像分辨率和图像大小的计算
阐述了不同深度的位图文件,文件大小的计算方式,同时,对图像像素总数、图像分辨率等概念也进行了阐述,对理解图像的存储有一定知道意义。原创 2014-04-02 15:32:13 · 73556 阅读 · 2 评论 -
位图结构解析
BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件转载 2014-04-02 11:57:31 · 2455 阅读 · 0 评论 -
位图结构解析(精简版)
对应的数据结构1:BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。2:BMP文件头(14字节)BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedef struct tagBITMAPFILEHEADER{WORD bfType;//位图文件的类型,必须为BM(0-1字节)原创 2014-04-02 12:09:04 · 1731 阅读 · 0 评论 -
读取灰度BMP位图 (利用CFILE类)
可以根据BMP位图文件的结构,操作BMP位图文件并读入图像数据,为此我们充分利用了VC的文档视图结构,重载了文挡类的OnOpenDocument()函数,这样用户就可以在自动生成程序的打开文件对话框中选择所要打开的位图文件,然后程序将自动调用该函数执行读取数据的操作。该函数的实现代码如下所示:BOOL CDibDoc::OnOpenDocument(LPCTSTR lpszPathName)转载 2014-04-02 17:28:08 · 1651 阅读 · 0 评论 -
VC++的CDib类
Visual C++ MFC中没有提供一个专门的类来处理DIB位图,因此,为了方便地使用位图文件,我们有必要派生一个CDib类。类的源代码如下: (1) CDib类的声明// DIB.h:类CDib声明头文件#ifndef __DIB_H__#define __DIB_H__#include class CDib{ public: CDib(转载 2014-04-02 17:47:31 · 1447 阅读 · 0 评论 -
与设备无关的位图(DIB)
DIB(Device-indepentent bitmap)的与设备无关性主要体现在以下两个方面:· DIB的颜色模式与设备无关。例如,一个256色的DIB即可以在真彩色显示模式下使用,也可以在16色模式下使用。· 256色以下(包括256色)的DIB拥有自己的颜色表,像素的颜色独立于系统调色板。 由于DIB不依赖于具体设备,因此可以用来永久性地转载 2014-04-02 17:50:14 · 1399 阅读 · 0 评论 -
RGB和RGBQUAD的区别
RGB和RGBQUAD的区别 昨天的晚上,为一个问题困扰了很长时间,几乎整个晚上都在弄一个小bug,感觉没有问题,但就是效果不理想,几次三番,查来查去........... 我想实现的功能是:生成一张图,图上有字,这张图是以一张指定的位图为背景的,我使用:COLORREF GetPixel( HDC hdc, // handle to DC i转载 2014-06-10 14:49:38 · 14538 阅读 · 2 评论