- 博客(21)
- 资源 (6)
- 问答 (2)
- 收藏
- 关注
原创 .net字节流转换为Bitmap图像
本文背景:由于项目用到了C++库进行开发,该库一个回调函数中将位图数据的图像数据作为byte[]传入,用作显示。由于只有图像数据信息,而没有信息头等,所以直接使用Bitmap bitmap = new Bitmap(stream)来构造位图对象时会报参数错误。网上查找资料也未找到相关原因,不过据报错内容推测,应该是数据格式有误。所以考虑到了Win32下位图的格式,想到微软不会因为语言不同而搞两套不同
2016-12-23 15:09:04 1865
原创 欢迎使用CSDN-markdown编辑器
Halcon子模板ROI计算对应精确定位,一般的做饭是首先粗定位,然后通过粗定位的结果在相对于此结果的某个位置中搜索圆、直线、矩形等进行精确定位,本文所讲的就是如何通过粗定位的结果去确定二次精确定位的搜索范围。 如下图,要粗定位正方形后通过红色线来精确定位,则粗定位后会找到正方形的中心(x,y),要在此基础上偏移(50,0)后去搜索直线。本文旨在说明如何确定搜索的位置范围。 通常简单
2016-12-08 16:22:15 902
原创 文章标题
*本文旨在解决在调试过程中遇到如下问题时的解决办法: HEAP: Free Heap block XXXXA modified at XXXXB after it was freed 意思是:已经释放的内存地址A,在B地址处的值被改变(A和B都处于被释放的内存段内),即很可能出现了野指针,而很多情况下你会说,我的每个new和delete都是成对的,在delete后将指针赋值为NULL。但是我想说
2016-08-19 18:09:07 380
原创 HEAP: Free Heap block XXXX modified at XXXX after it was freed
*本文旨在解决在调试过程中遇到如下问题时的解决办法:HEAP: Free Heap block XXXXA modified at XXXXB after it was freed意思是:已经释放的内存地址A,在B地址处的值被改变(A和B都处于被释放的内存段内),即很可能出现了野指针,而很多情况下你会说,我的每个new和delete都是成对的,在delete后将指针赋值为NULL。但是
2016-08-19 18:02:18 1602133 1
原创 ADO编程笔记-记录遇到的问题
ADO编程学习过程中遇到的问题: 1、错误将_RecordsetPtr类型定义为了_Recordptr,在打开记录集时导致抛出异常。提示不支持的操作。 2、在循环遍历表中的字段时,循环变量定义为了int i=0;导致抛出异常,错误的代码为unknow error 0x800A0CC1,百度了半天都没确定具体原因,后来无意中的修改解决了问题。 for(long i = 0;i<Col
2016-02-24 10:22:20 603
转载 vc++经典技巧总结
vc++经典技巧总结1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Creat
2016-01-14 10:41:48 1014
转载 MFC的OnMouseMove移动位置和OnMouseWheel缩放实现
1. 基本作用OnMouseMove响应鼠标移动时间OnMouseWheel响应鼠标中键的滚动 2. 参数说明afx_msgvoidOnMouseMove(UINTnFlags, CPointpoint);nFlags说明:指示虚拟按键是否按下 ,此参数可以是任何下列值的组合MK_CONTROL 当CTRL键按下时MK_LBUTT
2016-01-09 12:55:22 10779
原创 完成端口(CompletionPort)之客户端篇
**完成端口之客户端篇** 首先说一下这篇文章的初衷。不久前工作中要用到网络通信进行数据交换,既然要通讯当然要有服务器和客户端,于是乎把MFC中的CAsyncSocket搬过来用了,简单的重载几个函数就完成了数据收发,但是后续遇到了较多问题,首先多线程使用时很多时候无法触发OnReceive事件,再加上接收到数据后需要较多的等待,所以整个界面都遭殃了,窗口卡到拖不动···· 于是乎决定修
2015-07-14 11:48:47 2827 4
原创 Opencv图像在MFC中显示的几种方法
接触opencv后,其强大的图像处理功能令人折服,但是当把处理过程做成软件发布的时候就需要将处理结果显示给用户看,而我常用的还是MFC。归纳了网上的几种方式:1:第一种方法比较优雅取巧。将opencv的窗口贴到MFC的图片控件上去。2:通过opencv已经丢掉的一个类CvvImage类来将Mat类型的数据显示在DC上3:通过手动转换,将Mat数据转换到CImage中,然后进行贴图显示
2015-05-23 11:47:56 7278 5
转载 RGB、YUV和YCbCr
申明,本文非笔者原创,原文转载自:http://blog.sina.com.cn/s/blog_a85e142101010h8n.html之前对RGB、YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步。 首先要说明,上述的RGB、YUV和YCbCr都是人
2015-03-17 17:06:57 513
原创 图像的采样(马赛克)
图像的应用(马赛克)一、采样采样就是指把时间域或空间域的连续量转化成离散量的过程。图像的采样其实就将多个像素用一个像素取代,每隔一定的间隔取一个像素。我们首先要获得Image对象的数组,可以按下面进行: PixelGrabber pg = new PixelGrabber(im, 0, 0, iw, ih, pix, 0, iw);pg
2015-03-16 15:29:17 965
转载 图像几何变换
图像的集合变换一、放射变换最为常用的几何变换都是线性变换,这包括旋转、缩放、切变、反射以及正投影。在二维空间中,线性变换可以用 2×2 的变换矩阵表示。1.旋转变换 绕原点逆时针旋转 θ 度角的变换公式是 与 ,用矩阵表示为: 2.伸缩变换 缩放公式为 与 ,用矩阵表示为: 3.错切变换 错切变换公式: x = x0
2015-03-16 15:21:37 1530
转载 Opencv中对矩阵的操作
Opencv中对矩阵的操作有很多函数有mask,代表掩码,如果某位mask是0,那么对应的src的那一位就不计算,mask要和矩阵/ROI/的大小相等 大多数函数支持ROI,如果图像ROI被设置,那么只处理ROI部分 少部分函数支持COI,如果COI设置,只处理感兴趣的通道函数Description说明cv
2015-03-16 14:25:36 734
转载 灰度直方图
图像的统计特性图像的基本统计分析量如下:1.熵一个 X 值域为{x1, ..., xn}的随机变量的熵值 H 定义为:,即熵的公式可以表示为:上式我们取集合X为图像灰度值构成的集合,这样我们就可以得到图像灰度的熵值2.灰度平均值,灰度中值已经灰度方差都能很容易得到3.直方图的计算我们来看一个灰度图像,让表示灰度出现的次数,
2015-03-16 10:10:46 3568
转载 图像的时频变换--离散傅立叶变换
离散傅立叶变换一直很纳闷,几乎所有数字图像处理的书都会介绍数字时频变换,但是却很少书会讲时频变换的作用,这也是让我一直很疑惑的地方(不过也极有可能是本人愚钝)。频谱技术通常用于提高图像的处理操作速率,频谱相当于是图像的特征,时频变换虽然是一种数学技巧,但是运用到数字图像处理上会方便和简单。研究的图像变换基本上都是正交变换,正交变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较
2015-03-16 09:37:28 3878
转载 VC中使用内存映射文件处理大文件
引言文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行
2015-03-13 18:02:30 528
转载 OpenCV中对数组(矩阵)的操作的函数表
OpenCV - Operations on Arrays 对数组(矩阵)的一些操作add矩阵加法,A+B的更高级形式,支持maskscaleAdd矩阵加法,一个带有缩放因子dst(I) = scale * src1(I) + src2(I)addWeighted矩阵加法,两个带有缩放因子dst(I) = saturate(src1(I)
2014-12-17 11:24:09 574
转载 使用Arduino与DHT11监测温湿度
这两天开始一一测试之前买过的一些传感器,首先挑选的是DHT11,这个传感器用于粗略估计温湿度。硬件连接很简单,只需要将DHT11传感器和数字针脚4相连,这里我用到了传感器扩展板,直接连在扩展板上。材料都是用的奥松机器人基地的。第一件麻烦事儿就是DHT11的库文件,中文材料是木有滴,我到了官网,终于把一个可以用的库文件找出来了。这个库文件还可以测DHT22。如下两个文件,放在DHT文
2014-11-23 11:06:38 804
转载 GDI+编程小结
GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息。GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选。一、
2014-10-08 10:54:38 1328
转载 C/C++堆栈指引
C/C++堆栈指引Binhua Liu前言 我们经常会讨论这样的问题:什么时候数据存储在堆栈(Stack)中,什么时候数据存储在堆(Heap)中。我们知道,局部变量是存储在堆栈中的;debug时,查看堆栈可以知道函数的调用顺序;函数调用时传递参数,事实上是把参数压入堆栈,听起来,堆栈象一个大杂烩。那么,堆栈(Stack)到底是如何工作的呢? 本文将详解C/C++堆栈的工作机制。阅
2014-07-24 23:51:29 593
转载 Run-Time Check Failure #3 - The variable 'comstat' is being used without being initialized
方案1: 改变项目配置属性一种解决方案是改变基本运行时检查(changing the runtime checks in project settings):在菜单Project->Project properties-> C/C++ -> Code generation-> Basic Runtime checks --> change to 'Default',在中文版中是:项目-
2014-06-13 20:13:11 1610 1
BCGControlBar 22.1最新版下载地址
2016-05-26
完成端口之客户端篇
2015-07-14
IceSword冰刃中文版
2012-02-27
摄像头标定,确定摄像头和被拍摄物体所在平面的空间角度
2015-10-26
C++中多线程使用临界区域进行互斥,造成死锁,百思不得其解求指点为啥会死锁
2015-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人