a839766550
CV、NLP、推荐 都搞过,无一精通;
python、c++、java、scala、toml、conf都 写过,无一深入
展开
-
c语言学习 第一次
第一次 初步掌握visual studio 2015 中控制台c程序的建立。 结合课本讲解指针概念;指针上机练习。 讲解动态分配和释放。 malloc/free. 一维指针动态分配和释放练习。 二维指针概念讲解。二维指针动态分配和释放练习。 作业:矩阵乘法 用户输入矩阵1行数、列数,然后提示用户输入各元素; 用户输入矩阵2行数、列数,然后提示用户输入各元素; 输入后计算相乘结果矩阵原创 2017-09-22 18:40:15 · 259 阅读 · 0 评论 -
软件开发过程培训总结
软件开发过程培训主要从软件开发过程介绍、团队与角色、软件开发过程、面向对象建模与开发工具、构建神经网络实例等方面进行了学习。一、首先明确:软件=代码+文档,软件过程是开发、运行、维护和修复软件的系统方法 Software = Peopleware 团队成员角色:张超 组长兼开发经理;施浩琪 质量经理兼过程(管理)经理二、测试策略使用经过单元测试的部件作为原型创建提交版本通过集成测试,来判定原创 2017-10-09 16:37:19 · 2699 阅读 · 0 评论 -
opencv之7.3霍夫变换
霍夫变换可以实现任何由参数方程描述的几何体的检测。 1.检测直线 原理:霍夫变换基于二值图像,寻找经过每个单独像素点的所有直线,当直线经过足够多的像素点,则这个直线的存在足够明显。 void HoughLines( InputArray image, OutputArray lines, double rho, double theta, int threshold, dou原创 2017-10-23 22:51:03 · 258 阅读 · 0 评论 -
opencv之7.4用直线拟合一组点
获取直线的位置和方向的精确估计,解决直线拟合的问题。 思想: 用HoughlinesP检测直线,将直线保存在lines中,获取Canny图像并获取lines与canny图相交的点集,再用点集拟合直线。 代码:#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <open原创 2017-10-23 22:55:06 · 949 阅读 · 0 评论 -
opencv之7.5提取联通区域的轮廓
提取白色区域的轮廓void findContours( InputOutputArray image, OutputArrayOfArrays contours, int mode, int method, Point offset = Point());第一个参数:image但更常用的是二值图像,一般是经过Canny、拉普拉斯等边缘检测原创 2017-10-23 22:57:19 · 1920 阅读 · 0 评论 -
opencv之7.6计算联通区域的形状描述
包围盒:水平放置的最小包围矩形。 Rect boundingRect( InputArray points ) 最小包围圈: void minEnclosingCircle( InputArray points, CV_OUT Point2f& center, CV_OUT float& radius ); 多边形原创 2017-10-23 22:58:52 · 689 阅读 · 0 评论 -
opencv之8.2检测Harrris角点
Harris角点检测: void cornerHarris(InputArray src, OutputArray dst, int blockSize, int ksize, double k, int borderType=BORDER_DEFAULT) 参数详解: src image输入图像。 dst harris_responce 存储哈里斯(Harris)检测responces的图原创 2017-10-23 23:00:44 · 302 阅读 · 0 评论 -
opencv学习之Canny算子
Canny算子(基于sobel) 1.消除噪声。 普通情况下,使用高斯平滑滤波器卷积降噪。 2.计算梯度幅值和方向。 此处,依照Sobel滤波器的步骤。 3.非极大值抑制。 这一步排除非边缘像素, 仅仅保留了一些细线条(候选边缘)。 4.滞后阈值。最后一步,Canny 使用了滞后阈值,滞后阈值须要两个阈值(高阈值和低阈值): Ⅰ.假设某一像素位置的幅值超过 高 阈值, 该像素被保原创 2017-10-23 22:47:39 · 444 阅读 · 0 评论 -
opencv之8.3检测FAST特征
代码:#include <iostream>#include <opencv2\opencv.hpp>using namespace std;using namespace cv;int main(){ Mat image = imread("D:/house.jpg", 0); vector<KeyPoint> keypoints; //cv::FastFeatur转载 2017-10-23 23:01:39 · 231 阅读 · 0 评论 -
opencv学习 图像低通滤波
知识点: 1.滤波选择性的提取图像中呗认为传达重要信息的部分。滤波除去图像中的噪声,提取感兴趣的视觉特征,允许图像重采样等。 2.观察图像中变化的频率描述图像的方式成为频域,通过观察灰度分布来描述一幅图像呗成为空间域。 在频域分析的框架下,滤波操作的作用是增强部分频段,同时限制其他频段。 3.当滤波器的作用将一个像素替代为相邻像素的加权总和时,为线性的。 箱式滤波器将一个像素替换为相邻矩形原创 2017-10-16 22:12:17 · 1358 阅读 · 0 评论 -
中值滤波器
知识点: 1.中值滤波器对于去除椒盐噪点很有用cv::medianBlur(image,result,5);中值滤波器是非线性的,无法表示为一个核矩阵。该像素及它的相邻区域组成一组数组,仅仅计算这组数的中值,并用中值替代当前的像素值。缺点:噪点像素使得相邻像素的平均值发生变化,结果中的噪点依然是可见的。还同时保留边缘锐利度的优点,也会去除相同区域中的纹理(如背景中的树木)。#include <io原创 2017-10-17 11:01:16 · 1508 阅读 · 0 评论 -
Opncv学习之使用方向滤波器检测边缘
Sobel滤波器 void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = 3, double scale = 1, double delta = 0, int borderType = BORDER_DEFAULT ); 用索贝尔算子进行边缘检测: 计算X和Y方向上的导数并进行原创 2017-10-17 11:15:08 · 1143 阅读 · 0 评论 -
Opencv学习笔记之 视频
#include <opencv2\opencv.hpp>#include <iostream>using namespace std;int main(){ //打开视频文件 cv::VideoCapture Capture("D:\\1.avi"); //检查视频是否打开 if (!Capture.isOpened()) { retur原创 2017-10-10 17:58:11 · 350 阅读 · 0 评论 -
Opencv学习之 计算图像直方图
知识点: 知识点:在一个单通道的灰度图像中,每个像素的值介于0(黑色)~255(白色)之间 threshold 函数可以利用阈值来创建二值图像。两组像素基本对应的是图像的前景和背景,通过两组像素之间的过度出进行阈值化可以证实这一点 例: //cv:: Mat thresholded; //cv::threshold(image, thresholded, 60, 255, cv::THRE原创 2017-10-12 20:05:22 · 464 阅读 · 0 评论 -
c语言学习 第二次
掌握指针和结构、文件的结合使用。掌握形参与实参 首先通过读书,掌握c语言文本文件的基本概念和基本操作。熟悉文本文件的读写及fopen/fclose,fscanf/fprintf等函数。 作业:使用读写文件的矩阵乘法 要求:读出指定文本文件中各矩阵,计算多矩阵相乘后结果,并将结果写入另一文本文件中。原创 2017-09-22 20:00:30 · 287 阅读 · 0 评论 -
c语言学习 第三次
第三次 介绍概念:宏。变量revisited(局部变量及作用域,函数的形参及实参,按值传递及按地址传递), 编程style, void *类型,变量命名。程序组织(函数/文件/项目);缺省参数 选介绍:类(OOP),类的封装性,new/delete操作符,构造,析构 练习: 使用类重复第一课任务,Matrix.文件:main(). 第2套:matrix.h, matrix.cpp 要求:矩原创 2017-09-22 21:16:38 · 261 阅读 · 0 评论 -
使用形态学滤波对图像进行腐蚀、膨胀运算
知识点: 1. 形态学理论定义了一系列运算,应用预定义的形状元素来变换一张图像。形状元素与像素相领点相交的方式确定了运算的结果。 2. 结构元素定义为像素的结构(形状),以及一个原点(锚点)。使用形态学滤波设计对图像的每个元素应用这个结构元素。当结构元素的原点与给定的像素对齐时,它与图像的相交部分定义了一组进行形态学运算的像素。 3. 腐蚀:每个像素与结构相交的集合替换成最小的像原创 2017-10-18 19:47:39 · 2170 阅读 · 0 评论 -
vs2015常用快捷键总结
1.回到上一个光标位置/前进到下一个光标位置1)回到上一个光标位置:使用组合键“Ctrl + -”;2)前进到下一个光标位置:“Ctrl + Shift + - ”。2.复制/剪切/删除整行代码1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。2)如果你想剪切一整行代码,只需将光标移至该行,再使用组合键“Ctrl+X”来完成剪切操作转载 2017-10-18 20:51:20 · 936 阅读 · 0 评论 -
关于C++ const 的全面总结
http://blog.csdn.net/Eric_Jo/article/details/4138548转载 2017-10-12 16:56:06 · 206 阅读 · 0 评论 -
OpenCV学习笔记(08):opencv3.2+cmake3.8+VS2013,编译opencv_contrib
http://blog.csdn.net/cv_jason/article/details/70037545转载 2017-10-10 22:53:43 · 371 阅读 · 0 评论 -
第五章 使用形态学滤波对图像进行开闭运算
知识点: 1.闭运算:对图像先膨胀,再腐蚀 2.开运算:对图像先腐蚀,再膨胀原创 2017-10-18 20:46:23 · 2424 阅读 · 0 评论 -
第五章 使用形态学滤波对图像进行边缘及角点检测
知识点: 直线检测:原图膨胀-原图腐蚀 角点检测:result1 = 膨胀(十字)+腐蚀(菱形)(对原图进行的连续形态学滤波) result2 = 膨胀(x 型 )+腐蚀(方形)(对原图进行的连续形态学运算) result = abs(result1 - result2) 具体语言叙述: 1.直线检测:计算膨胀后的图像与腐蚀后图像的差值。由于这两个变换的图像不同的地方主要在边缘处,图原创 2017-10-18 22:07:19 · 1329 阅读 · 0 评论 -
c++学习之对象指针
对象指针: Rectangle obj2; // 定义1个类Rectangle的对象obj2 obj2.a、obj2.b、obj2.RArea( )、obj2.RLen( ) Rectangle *p; // 定义1个类Rectangle的对象指针p p = &obj2; // 将对象obj2的地址赋值给对象指针p 访问方法: cin >> (*p).a >> (*p).b; co原创 2017-10-13 23:27:56 · 228 阅读 · 0 评论 -
c++学习之特殊形式的函数
知识点:1.程序 = 数据 + 算法2.结构化程序设计方法的基本思想: 模块化设计 重用函数代码 分类管理数据-结构化程序设计所棉铃的问题: 开发大型软件系统 对大型软件的维护、升级-解决方法:数据类 数据类 = 数据 + 算法3.面向对象的初始化形式int x(10), y; //C++语言风格4.C++语言常变量: con原创 2017-10-12 21:57:23 · 382 阅读 · 0 评论 -
Opencv学习之图像的均衡化、二值化图像
知识点: 图像在视觉上的缺陷在多数情况下不是像素强度范围过窄,而是因为像素强度频率分布不均。我们认为一副高质量的图像应该平均所有的像素强度。这便是直方图均衡化背后的理念,即使得图像的直方图尽可能平坦Opencv提供了函数执行直方图均衡化void equalizeHist( InputArray src, OutputArray dst )#include <stdio.h> #include原创 2017-10-12 20:21:59 · 1185 阅读 · 0 评论