随笔分类 -  图像处理

摘要:一、下载OpenCV2.3.0下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/文件名:OpenCV-2.3.0-win-superpack.exe二、解压上述文件双击,解压至C盘根目录下。默认文件名OpenCV2.3。三、配置Visual Studio 2008点击 工具->选项->项目和解决方案->VC++目录。在“包含文件”下添加以下两个路径:C:\OpenCV2.3\opencv\include\opencvC:\OpenCV2.3\build\include添加库文件C:\ 阅读全文

posted @ 2011-11-18 15:25 江南烟雨hust 阅读(504) 评论(0) 推荐(0)

摘要:题目:一幅图像,背景为黑色,其中包含一些白色孤点,求包含白色点的最小的凸多边形。比如图像:思路:首先找到最下方的白色点。然后遍历每个白色点,求出当前点V1与每个白色点连成的方向向量。找出与单位向量向量(0,1)(当前向量)内积最小的那个方向向量。组成那个向量的白点即和V1相邻的下一个点V2。接着,更新当前向量为V1和V2连成的单位向量。再遍历每个白点,求出当前点V2和每个白色点连成的方向向量。找出与当前向量内积最小的那个单位向量。组成那个向量的白点即和V2相邻的下一个点V3。接着找出和V3相邻的下一个点。直到下一个点变为V1.即所有的边缘点都已找到。参考代码:%寻找包围白色点的最小的凸多边形 阅读全文

posted @ 2011-11-02 12:13 江南烟雨hust 阅读(577) 评论(0) 推荐(0)

摘要:Canny边缘检测算法一直是边缘检测的经典算法。下面详细介绍Canny边缘检测算法的原理以及编程实现。Canny边缘检测基本原理:(1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。(3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:(1)好的检测 - 算法能够尽可能多地标识出图像中的实际边缘。(2)好的定位 - 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。(3)最小响应 - 阅读全文

posted @ 2011-11-01 20:36 江南烟雨hust 阅读(1885) 评论(1) 推荐(0)

摘要:一幅图像,背景为黑色。其中有一个白色物体,其边缘连续。现在要求出其外边缘,即与黑色背景相交的部分,组成边缘线,并且由单个像素组成。思想:首先找到位于图像最上方的那个白色点。然后从这个白色点(当前点)开始搜索下一个相邻的位于边缘上的点。并且定义当前起始搜索方向为方向1(如图一).搜索的方式为:从当前方向开始,按顺时针依次检查每个方向上的相邻点(8连通域),看是否为白色点。如果是,则其为下一个边缘点。在8个方向搜索完毕之前,一定能够搜索到下一个边缘点,因为图像边缘是连续的。接着,把当前点定义为刚刚搜索到的相邻的下一个边缘点。并且修改当前起始搜索方向为:上一步搜索到下一个边缘点的方向逆时针旋转90度 阅读全文

posted @ 2011-11-01 14:34 江南烟雨hust 阅读(822) 评论(0) 推荐(0)

摘要:直方图均衡化的英文名称是Histogram Equalization. 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像... 阅读全文

posted @ 2011-10-28 09:31 江南烟雨hust 阅读(2554) 评论(0) 推荐(2)

摘要:图像处理课程上老师布置的任务,要求求出图片rice.png中米粒的个数及其各米粒的大小。rice.png:大体步骤是:首先进行边缘检测,然后进行填充。然后进行开运算,可以使一些轻微连着的米粒分开来。然后是遍历图片,把各米粒进行标号,从1开始从小到大标号。每个米粒的各像素点值相同,第i个米粒的各像素点值均为i。其中采用了队列,用数组模拟。最大的米粒标号便是米粒的总个数。最后,遍历一遍图像数组,便可求出各米粒的面积。参考代码(matlab实现):clear; close all; I = imread('rice.png'); [width,height] = size(I); J 阅读全文

posted @ 2011-10-27 10:22 江南烟雨hust 阅读(2256) 评论(0) 推荐(0)

摘要:代码在VS2008下通过,要在附加依赖项中添加:opencv_core220d.lib opencv_highgui220d.lib opencv_imgproc220d.lib。也可以在代码里面添加以下内容:#pragma comment(lib,"opencv_core220d.lib") #pragma comment(lib,"opencv_highgui220d.lib") #pragma comment(lib,"opencv_imgproc220d.lib")还要配置好OpenCV环境,设置环境变量啊什么的。具体可见这篇 阅读全文

posted @ 2011-08-24 21:48 江南烟雨hust 阅读(886) 评论(0) 推荐(0)

摘要:代码在VS2008下通过,要在附加依赖项中添加:opencv_core220d.lib opencv_highgui220d.lib opencv_imgproc220d.lib。也可以在代码里面添加以下内容:#pragmacomment(lib,"opencv_core220d.lib")#pragmacomment(lib,"opencv_highgui220d.lib")#pragmacomment(lib,"opencv_imgproc220d.lib")#pragma comment(lib,"opencv_cor 阅读全文

posted @ 2011-08-23 19:26 江南烟雨hust 阅读(961) 评论(0) 推荐(0)

摘要:代码在VS2008下通过,要在附加依赖项中添加:opencv_core220d.lib opencv_highgui220d.lib opencv_imgproc220d.lib。还要配置好OpenCv环境。IplImage数据结构定义:typedef struct _IplImage { int nSize; /* IplImage大小 */ int ID; /* 版本 (=0)*/ int nChannels; /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */ i... 阅读全文

posted @ 2011-08-22 10:31 江南烟雨hust 阅读(2171) 评论(0) 推荐(0)

摘要:参考了网上的一片文章,总算把OpenCV+VS2008环境搭建好了。这篇文章讲得很不错,故搜藏了~~~安装步骤:1.下载安装Cmake2.用cmake配置opencv2.2,然后编译,安装3. 在vs2008中配置opencv2.24.实例1.下载安装Cmake下载cmake有各种各样的方式,(1)官方网址,http://www.cmake.org/cmake/resources/software.html ,(2)Google一下,结果。……2.1 下载opencv2.2,http://sourceforge.net/projects/opencvlibrary/files/opencv-w 阅读全文

posted @ 2011-08-17 11:26 江南烟雨hust 阅读(541) 评论(0) 推荐(0)

摘要:GDI+支持多种继承开发环境,在使用GDI+之前必须对集成开发环境进行配置。下面介绍GDI+中VS2008中的配置。VS2008中包含GDI+的开发包,配置相对简单。对每个需要使用GDI+的项目,都必须使用同样地方法进行配置。1、在项目属性中添加GDI+静态链接库选择【项目】->【Example属性】(Example为项目名称),打开项目属性对话框。展开“配置属性”,选择“连接器”下面的“输入”,然后在“附加依赖项”中添加“gdiplus.lib”。现在完成了Debug模式下得GDI+的配置。要想在Release模式下程序也能正常编译,只要选择左上角“配置”下得“Release”选项,重 阅读全文

posted @ 2011-08-15 15:56 江南烟雨hust 阅读(982) 评论(0) 推荐(0)

摘要:通过我这些天用C++读写bmp图像的经历,摸索再摸索,终于对bmp文件的结构、操作有了一定的了解,下面就大概介绍bmp图片纯C++的读取、旋转和保存的实现过程。要用C++读取bmp图片文件,首先要弄清楚bmp格式图片文件的结构。可以参考这篇文章:http://blog.csdn.net/xiajun07061225/article/details/5813726有几点需要注意的是:在读取bmp图片的时候,一定要注意内存对齐的问题,譬如文件头,否则无法读取出正确结果。关于图片的像素数据,每一行的像素的字节数必须是4的整数倍。如果不是,则需要补齐。一般来说,bmp图像文件的数据是从下到上,从左到右 阅读全文

posted @ 2011-07-26 10:15 江南烟雨hust 阅读(2527) 评论(0) 推荐(0)

摘要:还是好好谈谈项目方面的吧。我们一个小组12人,算是人数比较多的了。这个项目还是比较大的,而且时间比较紧,总共20天,中间每周日休息,所以剩下的也就不足20天时间了。况且前期还有培训,会耽误一些时间。所以一开始老师就给我们是施加了不小的压力。我们做的是一个XX系统,我负责的是图像识别模块。这也是整个项目最难的部分了。当初是本着学习算法的意向选择这个模块的。以前从来没有接触过图像处理,所以做起来还真是挺费力的。不过经过这么多天的摸索、尝试,在同学的大力帮助下,也算有了一些眉目,基本功能也能实现了。下面就具体谈谈吧。 要识别图像中的字符,首先要会处理图像,把图像的信息读出来。这就必须先了解图像... 阅读全文

posted @ 2010-08-15 15:41 江南烟雨hust 阅读(248) 评论(0) 推荐(0)

摘要:还是好好谈谈项目方面的吧。我们一个小组12人,算是人数比较多的了。这个项目还是比较大的,而且时间比较紧,总共20天,中间每周日休息,所以剩下的也就不足20天时间了。况且前期还有培训,会耽误一些时间。所以一开始老师就给我们是施加了不小的压力。我们做的是一个XX系统,我负责的是图像识别模块。这也是整个项目最难的部分了。当初是本着学习算法的意向选择这个模块的。以前从来没有接触过图像处理,所以做起来还真是挺费力的。不过经过这么多天的摸索、尝试,在同学的大力帮助下,也算有了一些眉目,基本功能也能实现了。下面就具体谈谈吧。 要识别图像中的字符,首先要会处理图像,把图像的信息读出来。这就必须先了解图像... 阅读全文

posted @ 2010-08-15 15:41 江南烟雨hust 阅读(303) 评论(0) 推荐(1)

导航