- 博客(17)
- 收藏
- 关注
转载 C#图像处理之-给你的图片打上LOGO
<br />做图片处理软件,肯定会遇到这样的需求:如何把一张图片放在另一张图片上,比如在大图片中打上公司或个人的Logo等等。<br /><br />其实原理很简单。假设我们有一张 800 * 600 的大图片(Bitmap b0),想在(10,10)的位置上打上Logo(Bitmap b1),Logo图片大小是 150 * 30。很简单,我们以大图片的(10,10)位置作为起始位置,做一个150 * 30 的矩形,把Logo图片整个替换这个矩形。<br /><br />老规矩,还是用BitmapData来
2011-03-08 22:25:00
989
转载 C#实现图像轮廓的查找、表达、绘制、特性及匹配
<br />前言<br /><br /> 轮廓是构成任何一个形状的边界或外形线。前面讲了如何根据色彩及色彩的分布(直方图对比和模板匹配)来进行匹配,现在我们来看看如何利用物体的轮廓。包括以下内容:轮廓的查找、表达方式、组织方式、绘制、特性、匹配。<br /><br />查找轮廓<br /><br /> 首先我们面对的问题是如何在图像中找到轮廓,OpenCv(EmguCv)为我们做了很多工作,我们的任务只是调用现成的函数而已。 Image<TColor,TDepth>类的FindContours方
2011-03-02 23:45:00
4807
转载 4.轮廓的边界框
<br /><br /> 有三种常见的边界框:矩形、圆形、椭圆。<br /><br /> (1)矩形:在图像处理系统中提供了一种叫Rectangle的矩形,不过它只能表达边垂直或水平的特例;OpenCv中还有一种叫Box的矩形,它跟数学上的矩形一致,只要4个角是直角即可。<br /><br /> 如果要获取轮廓的Rectangle,可以使用Contour<Point>.BoundingRectangle属性或者 cvBoundingRect函数。<br /><br /> 如果要获取轮
2011-03-02 23:44:00
2463
转载 C# 中使用OPenCV(Emgu)心得
<br />转自:http://www.cnblogs.com/maiye/archive/2010/06/19/1761075.html<br />首先介绍一下自己的情况,2010年的3月份开始接触学习C#编程,之前C#和OpenCV都是零基础,由于全都是自学进度比较慢,中间也走了不少 弯路。进过三个月自己的学习与探索,对C#中使用OpenCV也算是有点心得,希望对初学者有所帮助,也希望大牛们进行指点。我使用的编程环境是 VS2005,使用的Emgucv 2.1.0.793版 本。<br />1.先是
2011-03-02 19:59:00
2088
转载 HOWTO: 在Macbook上DIY穷人的multi-touch
<br />HOWTO: 在Macbook上DIY穷人的multi-touch (Part 3 – END)Saturday, April 19th, 2008 | 浏览:27893人次<br />这篇文章将接续这个系列Part 1及Part 2的说明向大家说明multi-touch背后软体运作的原理。这篇文章会尽量用简单的方式说明原理和实做,希望能让懂得基本程式设计的读者都能看懂。<br />这篇文章会说明怎么从摄影机中撷取图片,并取得手指所反射出的光点位置,并对每个点做追踪。下图是同时追踪四个手指的范例
2011-03-01 00:13:00
2349
转载 这是个图像膨胀的例子
<br /><br />#include "import.h" <br />#include <br />#include<br />IplImage* src = 0; <br />IplImage* image = 0; <br />IplImage* dest = 0;<br />//the address of variable which receives trackbar position update <br />int pos = 0;<br />//callback function fo
2011-02-28 23:51:00
913
转载 OpenCV基本操作
<br /><br />今天在opencv wiki 闲逛,突然发现一篇好文章,这篇文章讲解了opencv的基本操作,以及图像处理算法和vc结合的示例,非常值得一看。<br />图片没法转过来,源地址在文章最下面已贴出。<br /> Programming computer vision applications: A step-by-step guide to the use ofMicrosoft Visual C++and the Intel OpenCV library<br /> <br />
2011-02-28 23:50:00
2074
转载 图像二值化算法 【迭代法和大律法算子】
<br /><br />二值化是一个相当复杂的理论问题,如果不给出具体的应用要求是无法做的.<br />最简单的:<br />for(......)<br />if(PixelY[i,j]>T)<br />PixelY[i,j] = 255;<br />else<br />PixelY[i,j] = 0;<br />如果考虑具体问题,二值化算法不下100种.<br />/*********************************************************************
2011-02-28 23:44:00
1859
转载 基于阈值法的图像分割技术
<br /><br /> 在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分称为目标或前景(其他部分称为背景),他们一般对应图像中特定的、具有独特性质的区域。为了辨识和分析目标,需要将他们分离提取出来,在此基础上才有可能对目标进一步利用。图像分割 就是指把图像分成格局特性的区域并提取出感兴趣目标的技术和过程。这里特性可以是象素的灰度、颜色、纹理等,预先定义的目标可以对应单个区域,也可以对应多个区域。现有的图像分割 算法有:阈值分割、边缘检测和区域提取法。本文着重研究基于阈值法 的图像分
2011-02-28 23:40:00
2468
转载 将DIB转换为IplImage(核心代码)
<br />在以取得DIB的情况下,可以将DIB转化为IplImage,核心代码如下:byte * p = new byte[bmp.bmWidthBytes * bmp.bmHeight];//申请内存保存位图数据 //得到图像数据放到p数组中 GetDIBits(memDC.m_hDC, (HBITMAP) memBitmap.m_hObject, 0, Height, p, (LPBITMAPINFO) &bih, DIB_RGB_COLORS);//获取位图数据//创建IplImage
2011-02-28 23:38:00
1103
转载 将IplImage转换为DIB
<br /> <br />Opencv中将IplImage转换为DIB:view plaincopy to clipboardprint?HBITMAP CGameDlg::IplIamgeToDIB(IplImage *pImg,int Size) { HDC hDC = ::CreateCompatibleDC(0); BYTE tmp[sizeof(BITMAPINFO)+255*4]; BITMAPINFO *bmi = (BITMAPINFO
2011-02-28 23:37:00
855
转载 将轮廓检测的各个轮廓提取出来并显示
<br /><br />今晚想到要将之前轮廓检测所得到的各个轮廓提取出来观察并找到特征点进行特征检测.通过查找相关资料和群友的帮助之下,终于实现了这个功能,下面是主要代码:<br />for(int o=0;contour;contour = contour->h_next)<br /> {<br />cvNamedWindow("Sub Image", 1);<br />//取得最小外接矩形<br />CvRect rect = cvBoundingRect(contour);<br />tmp=c
2011-02-28 23:31:00
1085
转载 OpenCV中获取图像某一像素值
<br /><br />This is a basic example for the OpenCV.<br />First we must know the structure of IplImage:IPL image:IplImage |-- int nChannels; // Number of color channels (1,2,3,4) |-- int depth; // Pixel depth in bits: |
2011-02-28 23:30:00
906
转载 Convert DIB to IplImage.
<br /><br />最近做一个Real time Face Detection的系统,用到了OpenCV,其中需要DIB和IplImage之间的转换,在网上找了很多solution,都不行。郁闷,只有自己小研究了下。<br />其中DIB和IplImage的数据区是差不多的,只是一个简单的顺序相反关系<br />byte *p = new byte[m_InInfo.bmiHeader.biWidth*m_InInfo.bmiHeader.biHeight*3];//开辟新空间<br />IplImag
2011-02-28 23:11:00
906
原创 最大类间方差法(OTSU)
<br />资料转自:http://zhengliqiang.spaces.live.com/Blog/cns!C442B714C18F258E!284.entry这里讲得比较清楚,而且代码写了注释,感谢作者! 最大类间方差法(otsu)的原理:<br /> 阈值将原图象分成前景,背景两个图象。<br /> 前景:用n1, csum, m1来表示在当前阈值下的前景的点数,质量矩,平均灰度<br /> 后景:用n2, sum-csum, m2来表示在当前阈值下
2011-02-24 22:25:00
1811
转载 大津法otsu的自动阈值分割源代码
<br />/*======================================================================*/<br />/* OTSU global thresholding routine */<br />/*======================================================================*/<br />void otsu (IplImage *image)<br />{<br />int w
2011-02-24 21:22:00
1823
转载 您也使用托管C++吗?
您也使用托管C++吗? 转向.NET后,手头上往往仍有旧的模块要重用。也许这些模块是Delphi写的,也许是C/C++写的,或者是其它编程语言……为了能把它们移植到.NET下,或者是在.NET中调用,To be or not to be, that is a question。 在这里,我笔记了几个在工作中遇到的几个场景。不过,这里不包括完全使用C#来重写原来用C++编写的程序这种变态的需求。当你被要求做这种事的时候,请三思而后行……这简直是种非人的折磨。您也使用托管C++吗? 如沐枫林场景一:在.N
2011-02-23 18:51:00
545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人