OpencvChina视频教程学习
文章平均质量分 53
双鱼的尾巴我是白羊座
这个作者很懒,什么都没留下…
展开
-
基础2
CvPoint系列CvPoint:表示图像中的点(见示意图)CvPoint2D32f:二维空间中的点CvPoint3D32f:三维空间中的点构造函数:cvPointXXXX( )。注意,这是c风格的代码,构造函数是内联函数,并不是c++中的类的构造函数一样。CvSize系列CvSize:图像的尺寸CvSize2D32f:如果想用浮点型。CvScalar包原创 2014-03-10 01:44:17 · 670 阅读 · 0 评论 -
30 图像尺度空间
#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"cv.lib")#pragma comment(lib,"highgui.lib")#pragma comment(lib,"ml.lib")#pragma comment(lib,"cvcam.lib")#pragma comment(lib,"cvaux.lib")#inc原创 2014-03-22 13:23:45 · 601 阅读 · 0 评论 -
31 一维信号中的跳变点检测
对已反差比较明显的 图像计算跳点 f(x)'=f(x+1)-f(x) 通过计算前一个像素与后一个像素的反差 计算出调点变化做大的 分割线对于噪点比较多的图像,则需要先平滑 在处理平滑后的图像顶点变得模糊 ,则需要计算 过零点---找出分割计算 过零点-----则是曲线下滑时取负值代码实例#pragma comment(lib,"cv.lib")#prag原创 2014-03-23 02:35:57 · 4384 阅读 · 0 评论 -
斑点检测系列Lob拉普拉斯--总结
基本原理是 通过 跳点 检测 检测出边缘线通过模糊 消除噪声影响通过设置 拉帕拉斯 平滑就散 因子 窗口的大小----推导出 -- 窗口大小和 斑点园的半斤相同时 --可以计算出极值点(即,园的中心)那么事先如何 知道 最佳的 拉普拉斯 窗口尺寸呢?通过 从窗口尺寸 由小到大的 逐次计算的 方式 ----- 计算出极值点 ----然后比较极值点 --最大的原创 2014-03-24 07:31:30 · 1128 阅读 · 0 评论 -
学习总结1
胖老师的 视频教程 到此基本学习完了。总结一些,收益很多,上半部分都理解的很透彻。角点检测原理 和 斑点检测 的数学理论部分,学起来吃力,看不懂。但也硬着头皮看完,并简单总结了一下基本还有一些MFC联系,以及2.0的一些补充内容。用一天的时间看完。原创 2014-03-24 12:38:29 · 626 阅读 · 0 评论 -
Haar 分类器
1 生成 主样本截取样本图片和生成 图片.txt(文件路径名称,坐标) 的 辅助工具2 生成 副样本原创 2014-03-24 11:05:33 · 786 阅读 · 0 评论 -
vs下程序的打包和部署
新建项目 :vs installer -> setup project右击 项目 属性 prerequistes 必备选项。。。1 应用程序目录 右击 add --- 项目输出 --选择对应的当前工程--确定自动加载一些Dll2 用户程序菜单3 用户桌面卸载:system32下复制出来,然后添加到 应用程序目录下,原创 2014-03-26 07:54:19 · 730 阅读 · 0 评论 -
Opencv2 基础操作
创建Mat img(200,200,cv_8UC1(8U位无符号,C1通道 ),Scalar(100));Mat m(){ Mat m(200,200,cv_8U1);return m;}Mat src=m();局部的Mat对象不会被销毁,只有当它的引用计数=0 时,才销毁。IplImage Mat 转化-------------------原创 2014-03-26 23:48:46 · 670 阅读 · 0 评论 -
OPenCV2_如何使用迭代器遍历图像
Mat_模板 Mat src = imread("C:\\Users\\Administrator\\Desktop\\1.jpg"); Mat_ src_=src; //src(y,x)=.. Vec3b v(99,99,99); src_(10,10)=v; Vec3b r=src_(10,10); printf("%d %d %d \n",(UINT)r[0],r[1原创 2014-03-27 03:16:49 · 1014 阅读 · 0 评论 -
opencv2 如何获取像素值
#include #include #include "opencv.hpp" using namespace cv;void setSaltNoise(cv::Mat& img,int count) { srand((unsigned)time(NULL)); for (int i = 0; i < count; i++) {原创 2014-03-27 00:28:18 · 987 阅读 · 0 评论 -
Harris Trajkovic 角点检测
Moravec 计算四个方向 :水平,垂直Harris 多个方向滑动窗口 由以前的方形----改变为 圆形(在原方向的上 加上 差补值 边缘值让它变小---以此减小距离远的区域的影响) Trajkovic 可以计算各个方向上的值。---速度比harris快8倍通过 先缩小 图像(把一个连通区(4 或8 连通),的平均值 作为一个像素),然后检测角原创 2014-03-20 10:24:36 · 788 阅读 · 0 评论 -
轮廓提取
#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"cv.lib")#pragma comment(lib,"highgui.lib")#pragma comment(lib,"ml.lib")#pragma comment(lib,"cvcam.lib")#pragma comment(lib,"cvaux.lib")原创 2014-03-15 09:37:08 · 1059 阅读 · 0 评论 -
Moravec角点检测算法原理
参考资料:(1)Moravec角点检测算法原理Moravec角点检测算法是最早的角点检测算法之一。该算法将角点定义为具有低“自相关性”的点。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个patch,并检测这个patch和周围其他patch的相关性。这种相关性通过两个patch间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。如果像素位于平滑图像区域内,原创 2014-03-18 04:52:00 · 4770 阅读 · 0 评论 -
开始OpencvChina论坛的视频教程学习
首先非常感谢 opencvChina 论坛的 无私的 作者。现在感觉学些视觉很困难,学习资料太难找了。读过《学习opencv》太的太晦涩,太难懂了,又加速翻译的太垃圾,读起来真有想死的心。很多人选择学习OPencv来借此进入 数字图像 视觉技术的道路,在于opencv开源免费,可以更自由的开发,以至于现在很多公司选择opencv作为开发工具。 视频教程,讲的虽然很急人,逻辑模糊原创 2014-03-08 02:07:21 · 4055 阅读 · 0 评论 -
感兴趣区域ROI 和 替换算法
#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"cv.lib")#pragma comment(lib,"highgui.lib")#pragma comment(lib,"ml.lib")#pragma comment(lib,"cvcam.lib")#pragma comment(lib,"cvaux.lib")#in原创 2014-03-14 08:16:31 · 1364 阅读 · 0 评论 -
颜色空间转换
示例代码#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"cv.lib")#pragma comment(lib,"highgui.lib")#pragma comment(lib,"ml.lib")#pragma comment(lib,"cvcam.lib")#pragma comment(lib,"cvaux.lib")原创 2014-03-15 01:38:33 · 604 阅读 · 0 评论 -
颜色空间
RGB 颜色空间互补光的定义:当两种光按照适当比例混合得到白光时,称这两种光为互补光。所以,按照上述的混色规律我们可以得到,青色、黄色、品红分别是红色、蓝色、绿色的补色。亮度的定义:单色光的亮度强度各不相同,根据人的感受是:绿光最亮,红光次之,蓝光最弱,假设得到白光的强度为100%。如果用Y表示景物的亮度,则通常有:Y=0.299R+0.587G+0.114B因为红、绿原创 2014-03-15 00:09:03 · 715 阅读 · 0 评论 -
骨架提取----细化
算法原理:二值图像8连通域的华东窗口,111111=255中过滤标记(0 保留,1 可以删除)进行循环多次的删除边缘,直到无法删除位置。原创 2014-03-15 08:08:09 · 2937 阅读 · 0 评论 -
基础1
图片文件IplImage* img=cvLoadImage("img//1.jpg",CV_LOAD_IMAGE_COLOR);/* 8bit, color or not */#define CV_LOAD_IMAGE_UNCHANGED -1/* 8bit, gray */#define CV_LOAD_IMAGE_GRAYSCALE 0/* ?, color */原创 2014-03-10 00:04:53 · 891 阅读 · 0 评论 -
腐蚀 和 膨胀
创建 滑动窗口 //创建 滑动窗口 IplConvKernel *element=0; int values[16]={ 0,0,0,0, 0,0,1,0, 0,1,1,0, 0,0,0,0 }; int cols=4,rows=4,anchor_x=2,anchor_y=2; element=cvCreateStructuringElementEx(cols,ro原创 2014-03-15 06:57:49 · 622 阅读 · 0 评论 -
随机数生成器CVRNG
CvRNG cvrgn=cvRNG(cvGetTickCount());//cvGetTickCount()以系统的时钟为种子,种子要是可变的,随机值才会发生变化int r,g,b;b=cvRandInt(&cvrgn)%255;//想要的值=随机值%限定值。g=cvRandInt(&cvrgn)%255;r=cvRandInt(&cvrgn)%255;原创 2014-03-16 10:34:09 · 1039 阅读 · 0 评论 -
模板匹配
目标匹配函数:cvMatchTemplate( const CvArr* image, const CvArr* templ, CvArr* result, int method );image待搜索图像 templ模板图像 result匹配结果 method计算匹配程度的方法 关转载 2014-03-16 06:29:24 · 1295 阅读 · 2 评论 -
图像与轮廓的相似度匹配
普通局中心距:平移不变性归一化中心距:缩放不变性hu矩:旋转不变性原创 2014-03-16 01:23:20 · 11923 阅读 · 0 评论 -
OPenCV2 如何使用指针的方式遍历图像
Mat m=imread("...");m.data;//图像的数据开始指针m.ptr(Y)---m.ptr(0) --- 一行的起始位置连续存储 -- 每行的长度==图像的实际使用长度非连续存储 --- 即 对每行尾部进行了补充,使其是4或8的整数倍(通常硬件需要,提高处理速度) 例如uchar data[100];Mat m(10,10,CV_8U1,da原创 2014-03-27 02:05:10 · 899 阅读 · 0 评论