- 博客(16)
- 收藏
- 关注
原创 OPENCV 4. 矩阵维度、通道和数据访问
获取某一坐标的值cvGetReal1D, cvGetReal2D, cvGetReal3D, cvGetRealND; 对单通道进行访问 CVAPI(double) cvGetReal3D( const CvArr* arr, int idx0, int idx1, int idx2 );cvGet1D, cvGet2D, cvGet3D, cvGetND; 对多通道进行访问 CVAPI(CvS
2017-11-19 16:16:33
1591
原创 OPENCV 3. 图像的加载、保存与显示
a. 加载图像CVAPI(IplImage*) cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));第2个参数为加载图像的方式,如灰度图像,原图等;//enum//{///* 8bit, color or not */// CV_LOAD_IMAGE_UNCHANGED =-1,
2017-11-19 16:12:57
459
原创 OPENCV 2. 数据结构
Opencv的数据结构定义于types_c.h中,下面对其一一介绍: 1. CvRect 矩形类typedef struct CvRect{ int x; int y; int width; int height;}CvRect;x和y表示矩形的起始坐标,而width和height则表示矩形的宽和高;其构造函数为:CV_INLINE CvRect cvRe
2017-11-18 11:35:16
257
原创 OPENCV 1. opencv和 VS 2010的安装
opencv和 VS 2010的安装1:下载完OPENCV2.4.9后,双击图标并将它解压缩,如解压缩到C:\opencv 2:配置动态链接库的地址,右键【计算机】-【属性】-【高级系统设置】-【高级】-【环境变量】,在Path下面新增OPENCV动态链接库的地址,如:C:\opencv\build\x86\vc10\bin; PS:X86表示32位编译环境,而x64则为64位系统;vc10则对
2017-11-18 11:30:17
367
原创 快速排序
快速排序 快速排序是一种最坏情况下时间复杂度为O(n2)的排序算法,虽然它的最坏情况下的时间复杂度较差,但是快速排序通常是实际应用中最好的选择,因为它的平均性能非常好。 对一个典型的子数组A[P..R]进行快速的三步分冶的过程如下: 分解:数组划分成两个部分,A[P,Q-1]和A[Q+1..R],其中,前一个部分都大于A[Q],而后一个部分都小于A[Q]。计算下标Q也是划分的一个部分 解决:
2017-05-29 21:22:53
238
原创 堆排序算法
堆排序算法 堆是一个数组,他可以被看成是一个近似的完全二叉树,除了最底层之外,该数是完全充满的。一般的,给定一颗二叉树的一个节点,可以很快的算出它的父、左子、右子节点。 Parent(i)=i/2 Left(i)=i*2 Right(i)=i*2+1最大堆是指的除了根节点外的所有节点,都满足A(parent(i))>=A(i)。一个堆的高度也就是O(lgn)。一个堆排序算法的基本过程包括:维
2017-05-29 18:43:40
252
原创 快速中值求取算法
中值排序,这个大家都会比较清楚。 int CQuickMedian(int * pnData, const int knLength) { int nLow = 0; int nHigh = 0; int nMiddle = 0; int nMedian = 0; int nLTmp = 0; int nHTmp = 0; n
2017-05-29 18:42:57
17627
5
原创 调试小程序-个人-勿看
调试小程序#include <opencv\cv.h>#include <opencv\highgui.h>int MyGetDataVoid(const void * pkData, const int knType){ switch (knType) { case 1: return *(char*)(pkData); case 11:
2016-09-25 11:34:11
1750
原创 搜索边缘链表算法之Matlab实现
概要:对于一幅二值图,需要提取图像的边缘点,并将其放入边缘链表中,其示意图如下: 方法是: 1:找到图像的起始位置,如最左上位置即为起始点,如下所示: 可以通过逐列扫描,然后再行扫描,即可找到。 2:旋转上次的查找方向,重新再搜索。如对于起始点A,它的上次搜索方向为向下,然后再逆时针旋转45∘45^\circ。而对于上次搜索方向为45∘,135∘,225∘,315∘45^\circ,13
2016-01-09 20:49:58
847
原创 Matlab生成视频文件
在用Matlab程序生成图像时,如果将其保存为avi文件,则能有播放的好效果。以下程序能将Matlab画出的图像生成视频文件:% Demot = 0:0.01:2*pi;frame = moviein(62); %Frame,记录每一帧for i=1:62 y = sin(t+i*0.1); plot(y); set(gcf,'Position',[20,50,
2015-12-27 16:37:58
3444
原创 Matlab模板匹配实现图像运动估计(频域实现)
引言:在利用显微镜观测量物体的长度时,其精度非常高,然而,其行程却有限。一个测量较长物体的长度时,一种方法是在物体的左侧开始拍摄图像,然后移动相机(或者物体),再拍图像,直到拍摄到物体的右侧为止。对于其中拍摄的相邻的图像,如下图所示(图片由余师兄提供),需要计算它们的运动距离。 模板匹配:对于上面的图像,可以明显看出其往右移了,但对于精密测量来讲,求其移动的距离并精确到像素级非
2015-12-26 22:17:56
4789
原创 黑白BMP文件的读写和数据黑白图像显示
对于图像处理来说,如何从一幅bmp图像中读取它包含的信息,是十分重要的。而对于c++如何将文件读取到内存,或者将数据保存为bmp黑白图像,则需要研究图像是如何进行存储的。 一般的,黑白图像由文件头,信息头,调色板,最后才是位图矩阵信息组成。
2015-12-26 21:16:01
6279
原创 C++矩阵类的实现
矩阵类对于学习C++的类有很大的帮助,如拷贝构造函数,算术符重载等。以下为设计矩阵类。class MyMatrix{public: int m_nRows; // 矩阵的行数 int m_nColumns; // 矩阵的列数 double* m_lpBuf; // 动态分配用来存放数组的空间public: MyMatrix(); MyMatrix(M
2015-12-26 17:04:07
21770
3
原创 调试-计时函数
在进行代码优化的时候,我们需要用计时函数找出最应该做优化的地方,即好刀用在好刃上。在VS.C++程序中,以下函数能方便的计算出程序运行的时间。
2015-12-26 15:42:53
294
原创 C语言实现拟合直线方程
C语言实现拟合直线方程在进行拟合直线的时候,最一般的做法是最小二乘法,此方法比较快速,易懂,下列程序用最小二乘法拟合直线。
2015-12-26 15:33:43
5401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人