自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShaYx1991的博客

记录碎片,坚持学习

  • 博客(56)
  • 资源 (9)
  • 收藏
  • 关注

转载 梯度为什么是函数变化最快的方向

(本文转自于知乎https://zhuanlan.zhihu.com/p/24913912)导数导数的几何意义可能很多人都比较熟悉: 当函数定义域和取值都在实数域中的时候,导数可以表示函数曲线上的切线斜率。 除了切线的斜率,导数还表示函数在该点的变化率。几...

2019-06-10 20:47:27 5844 1

原创 图像表示的几个基本概念

图像的表示一幅图像可以用一个2D数组f(x,y)来表示,这里x和y表示2D空间XY中一个坐标点的位置,而f则代表图像在点(x,y)的某种性质F的数值。例如:灰度图像中f表示灰度值;二值图像中对应文字和空白;彩色图像中对应多个性质,红、绿、蓝值。图像的显示在屏幕显示时原点在图像的左上角;在图像计算中,原点在图像的左下角。 分辨率采样:可以看作将图像平面划分成规则网格,每个网格的中...

2019-05-22 00:01:43 1113

转载 log4 Cplus

转载自http://my.oschina.net/lovecxx/blog/185951 f 目录[-]1.  Log4cplus简介2.  安装方法2.1.         ...

2019-01-26 15:13:32 408

原创 编程之美 1.11 一排石头的游戏

1.11 一排石头的游戏        N块石头排成一行,每块石头有各自固定的位置,两个玩家依次取石头,每个玩家每次可以去任意一块或者相邻的两块石头,石头在游戏过程中不能移动,最后将剩下的石头一次取光的玩家获胜。这个游戏有必胜的策略吗?假设甲乙两人,甲先拿解题思路:归纳法1、1个石头甲先1号石头,甲获取的...

2019-01-24 23:54:45 452

原创 Opencv实战4 对象计数

对象计数4.1 题目        如图数出下图的玉米种子的数量#### 4.2 思路        这个案例的难点在于有的玉米粒是靠在一起的,不然的话直接轮廓查找就能搞定了。基本指导思想就是把玉米粒都分开,分成一粒

2019-01-24 20:49:39 2479

原创 Opencv实战3 对象提取

3 对象提取3.1 题目如下图,去除圆之外的杂物,并计算圆的半径。3.2 思路二值化处理tuxiang形态学操作去除小杂物轮廓查找,根据面积横纵比进行筛选找出圆感兴趣区域保留3.3 示例代码#include <opencv2\opencv.hpp>using namespace cv;using namespace std;int main(int ...

2019-01-22 22:07:37 1055 1

原创 编程之美 1.10 双线程高效下载

1.10 双线程高效下载        我们经常需要编写程序,从网络上下载数据,然后存储到硬盘上。一个简单的做法就是下载一块数据,写入硬盘,然后再下载,再写入硬盘……不断重复这个过程,直到所有的内容下载完毕并写入硬盘为止。现在给出以下几个前提:1、假设所有数据块的大小都是固定的,可以使用一个全局缓冲区:Bloc...

2019-01-22 19:57:26 263

原创 CTK Plugin Framework 介绍

CTK Plugin Framework 基本原理1 CTK Plugin Framework是什么        CTK Plugin Framework 技术是面向 C++ 的动态模型系统。该系统允许插件之间的松散耦合,并且提供了设计良好的方式来进行功能和数据的交互。此外,它没有预先对插件施加限制,这样就可以很...

2019-01-19 23:44:10 3688 1

原创 CTK环境搭建

CTK环境搭建1 下载相关文件下载Cmake:https://cmake.org/下载ctk源码:https://github.com/commontk/CTK2 编译CTK2.1 cmake打开cmakelistctk源码下载完之后在当前文件夹下新建build目录。如图2.2 qt环境版本确认使用cmake开进入CTK-Master目录,选择源代码目录和Build目录。进行...

2019-01-19 16:08:58 3062 1

原创 Opencv实战1 检测直线

直线检测2.1 题目        将下面试卷中横线检测出来,用红线替换。2.2 思路2.2.1 思路一 霍夫直线检测(不恰当方法):1、 转化为灰度图像。2、 二值化。3、 边缘检测。4、 霍夫直线检测。示例代码:void MethodOne(Mat img

2019-01-18 23:30:43 4894 1

原创 OpenCv实战2 切边处理

切边处理1.1 题目:将下图作图的图片灰色区域切边,并将图片旋转为正。结果为右图。1.2 思路1、 转化为灰度图像,2、 进行边缘检测,找出边缘3、 边缘中查找轮廓4、 轮廓中查找面积最大的外接矩形5、 使用矩形角度,仿射进行旋转6、 再次边缘加测,轮廓查找,找出轮廓的垂直边界最大矩形。7、 提取ROI区域1.3 示例代码int main(int argc, char *...

2019-01-18 19:26:04 1422 4

原创 编程之美 1.8 小飞的电梯调度算法

小飞的电梯调度算法电梯是我们每天都要坐的,上班高峰期是非常拥挤的,大家都不想每层都停,决定选择一层停,剩下的楼层大家自己爬。假设电梯共有N层,坐电梯的人有M人,每个人都有自己的目的层,现在让你设计一个算法,快速算出了电梯停在哪一层,大家爬的楼层最少?解题思路:1.穷举法,遍历每一层大家爬的层数,找出最少的一层。示例代码:#include using namespace std;sta...

2019-01-17 20:10:40 266

原创 编程之美 1.7 光影切割问题

光影切割问题原书的题目表述一开始又没看懂,还是直接数学化吧,一张图胜就明白了。 问题:求区域A-B之间,被直线划分成多少区域,前提是不存在三条直线相交的情况。解题思路:1、问题化解仔细观察发现:划分区域 = 直线数 + 交点数+1问题化解为:区域内直线的交点数。2、解法一:求区域内的直线交点3、解法二:求序列的倒序。仔细观察,左边交点为a>b>c,右边交点为c&g...

2019-01-16 21:32:32 354

原创 编程之美 1.6 买饮料问题

饮料供货书中开始又是一堆看不懂的前述,感觉说了半天也没说清楚题目,看了解法一才看明白。题目:假设STC共提供n中饮料,用(Si ,Vi,Ci,Hi,Bi )(对应的是饮料的名字,容量,可能的最大数量,满意度,实际购买量)来表示第i种饮料(i=0,1,…,n-1),其中可能的最大数量是指STC存货的上限。基于如上表示:饮料总容量为:总满意度为:那么题目要求就是,在满足条件∑_(i=0...

2019-01-15 23:16:24 843

原创 编程之美 1.5 快速找出故障机器

快速找出故障机器        关心数据挖掘和搜索引擎的程序员都知道,我们需要很多的计算机来存储和处理海量数据。然而,计算机难免出现硬件故障而导致网络联系失败或死机。为了保证搜索引擎的服务质量,我们需要保证每份数据都有多个备份。简单期间,我们假设一个机器仅存储一个标号为ID的记录(假设ID是小于10亿的整数),假设...

2019-01-14 22:10:05 394

原创 编程之美 1.4 买书问题

买书问题        题目:在节假日的时候,一般书店都会做促销,假设一套书共有5册,没册书的定价都是相同的30元,店家为了促销推出了一个方案,具体如下:    &nbsp

2019-01-13 01:58:17 563

原创 傅里叶变换推导

图像傅里叶变换1.周期函数的分解猜想    数学家总是非常伟大的,数学家拉格朗日大家从小到大在数学课本里面都能见到他的身影,他和一些数学家发现:一些周期函数可以分解为三角函数之和。在当时另一个资历比较浅的数学家傅里叶论断:任何周期函数都可以分解为三角函数之和。有意思的是拉格朗日对此持反对意见并指出:带有棱角的周期函数肯定不能由三角函数合成。由于当时朗格朗...

2019-01-11 21:18:58 21522 3

原创 图像边缘检测总结

1 边缘检测的一般步骤1.1 滤波边缘检测的算法可以就是对图像像素点进行求导,但是噪声本身就是异常点,因此导数对噪声很敏感,所以首先需要使用滤波器来降低或消除噪声的影响。常用的滤波器就是之前提到的五种,根据实际情况进行选用,底线是不对图像轮廓造成损害。当然如果不是噪声类型特别明显的情况,其中最常用的就是高斯滤波器了。1.2 增强增强边缘的基础是确定图像各点邻域强度的变化值,将图像灰度点邻...

2019-01-11 20:36:11 1745

原创 微分滤波器总结

微分滤波器本质:逻辑上,平滑使用的是积分,锐化则应使用微分。1.索贝尔(Sobel)导数索贝尔算子可以实现任意阶导数和混合偏导数。本质:求得图像的一阶或二阶近似梯度图像。void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = ...

2019-01-11 20:34:54 7010

原创 平滑滤波器总结

平滑滤波器总结本质:对像素点领域的像素值施于某种算法,以其结果替代锚点处对应的像素值。平滑(模糊)目的:减少噪声和伪影。opencv一共提供了5种平滑操作。1.均值滤波器算法原理:以邻域像素点的平均值代替像素点的值。void blur( InputArray src, OutputArray dst, Size ksize, Point ...

2019-01-11 19:03:09 22421 2

原创 图像的傅里叶变换

图像的傅里叶变换傅里叶变换大家想必早就了解了,网上资料也很多,如何推导有何意义都说的很明白了,在这里就不作赘述。今天我想讲的是OpenCv中如何对傅里叶图像进行变换,生成频谱图。先看如何生成一幅图像的频谱图:源码:#include "QtGuiApplication1.h"//#define Ui#ifndef Ui#include <QFileInfo>#incl...

2019-01-10 22:04:46 1566

原创 OpenCv掩摸详解

掩模Mask详解在OpenCv中,许多API的参数中都有Mask(掩模)这么一个参数。很多资料都有一句话带过:规定所要操作的区域。那么他到底是怎么使用的?内部具体过程是什么?今天通过小例子来解答。Mat sor(Size(5, 5), CV_8UC1, Scalar(0));std::cout << sor << std::endl;Mat mask(Size(5...

2019-01-10 22:02:07 396

原创 图像的叠加、混合、分离

图像的叠加、混合、分离1 感兴趣区域ROI      ROI(region of interest)感兴趣区域,在图像处理过程中,有时候我们希望对图像中的某些区域进行处理,也就是仅对某些区域感兴趣,那么我们就可以定义我们的ROI区域。方法:定义一个Rect来表示或指定行列范围。Mat roi1, rot2;// 左上角roi1 = img(Rec...

2019-01-10 22:00:25 8451

原创 opencv 基于图像单像素点的处理

1 基于图像单像素点的处理看过数字图像处理一书的都知道,图像处理中基于像素点的处理分为两种灰度变换:本质就是基于单像素点的变化处理。空间滤波:本质就是基于邻域像素点的变化处理。今天要讲的是在OpenCv下基于基于单像素点的处理,其中会讲到OpenCv针对单像素处理封装好的一些ApI,即实质原理。1.1 图像像素点的访问要进行基于单像素点的处理,首先就必须知道,给你一幅图,你如何去访问图...

2019-01-10 21:54:51 2868

原创 编程之美 1.3 一摞烙饼的排序

一摞烙饼的排序    有大小不一的一摞饼在你的一只手上,现在你需要将饼由大到小翻转,即最大尺寸的饼在底部,最小尺寸的饼在最上面,而且你只能用一只手进行翻转。千言万语不如一张图。    上图是三张饼的翻转,你是否能写出一个程序,对于n块大小不一的烙饼,输出最优化的翻饼过程?解题思路:1、 最笨的办法,一次翻转一个未排序中最大的饼需要两次翻转,那么n个饼就需要2*(n-1)次。当然这是最多的...

2019-01-09 23:37:24 223

原创 编程之美 1.2 中国象棋将帅问题

中国象棋将帅问题 下过象棋的都知道,双方的“将”和“帅”相隔遥远,并且不能照面。约定A表示“帅”,B表示“将”,二者位置可表示为请写出一个程序,输出A、B所有合法位置。要求在代码中只能使用一个字节存储变量。解析思路:1、 首先想到两个For循环遍历,但要求只用一个字节存储变量,这一思路先不考虑,当然也可以取巧使用位域。2、 观察输出,一共有81种位置组合,假设使用一个变量i来存储第i种...

2019-01-08 20:11:40 279

原创 编程之美 1.1 Windows控制CPU占有率

1.1 让CPU占有率听你指挥题目:Windows环境下,写一个程序控制CPU占有率,具体CPU的占有率固定在50%,为一条直线。CPU占有率为一条直线,具体参数可调。CPU占有率呈一条正弦曲线。解题思路:任务监控器下CPU占有率是1秒进行一次采样的。让CPU工作指定时间,休息指定时间就可以控制占有率曲线。其中指定休息时间可以使用Sleep()函数,工作指定时间则需要计算。在此...

2019-01-08 00:23:38 1147

原创 第8章 OpenCv 图像、视频与数据文件

第8章 OpenCv 图像、视频与数据文件1 HighGUI模块HighGUI:OpenCv把用于操作系统、文件系统以及摄像机等硬件设备交互的函数纳入到HighGUI模块中。即图像的输入输出、视频的输入输出和图形界面相关功能。HighGUI分为三个部分:(1) 硬件部分硬件部分最主要是对摄像机的操作。(2) 文件系统部分文件系统部分的主要工作是完成图片的载入和保存。(3) 窗口(G...

2019-01-05 18:10:25 23870 3

原创 第五章 矩阵(Mat)操作

基本的矩阵和图像算子函数名称 描述abs() 计算矩阵中所有元素的绝对值absdiff() 计算两个矩阵差值的绝对值add() 实现两个矩阵逐元素相加addWeighted() 实现两个矩阵逐元素加权求和bitWise_and() 计算两个矩阵逐元素按位与bitWise_not() 按位非bitWise_or() 计算两个矩阵逐元素按位或bitWise_xor() 计算两个矩阵...

2019-01-05 18:03:24 544

原创 OpenDDS简单示例

OpenDDS简单示例1 概述对于一个搞软件的人来说,接触一个新软件或库或架构,最先想的肯定不是它是如何实现的,而是想让它运行起来,看看效果。所以刚接触OpenDDS,首先想的也是写个小demo,尽管OpenDDS开发指南中已经详细介绍了一个小例子,但这里还是再次说明一下详细开发步骤。前提环境:vs2015 安装好的perl编译并配置好的OpenDDS。不会请看https...

2018-12-26 21:59:54 15322 5

原创 OpenDDS QosXml库编译

OpenDDS QosXml库编译1 概述在使用OpenDDS过程中,有时候需要对DDS中实体的qos进行配置,第一种办法是在代码中进行硬编码,第二种是使用xml文件进行配置。其实DDS源代码中已经提供了相关支持,甚至都有Qos的xml配置文件格式,只是缺少一个xml解析库,所有编译的时候没生成对应的库。下面就讲解一下生成QosXml文件的解析库。2 环境介绍 vs2015 编译好的...

2018-12-25 23:33:23 835

原创 第四章 OpenCv的数据类型

第四章 OpenCv的数据类型 1 直接从C++继承来的基础数据类型本质:这类数据类型直接从C++原语中继承而来,仅仅是稍加修饰,如int、float、及简单数组和矩阵,同时也有一些代表简单几何概念的数据类型,如点、矩形、大小等。OpenCv中6种基本数据类型缩写:b = unsigned charw = unsigned shorts = shorti = intf = floa...

2018-12-24 19:39:38 354

原创 第三章 OpenCv基本入门使用

第三章 OpenCv基本入门使用1 头文件说明头文件集中地:opencv2/opencv.hpp该头文件包含了opencv各个模块的头文件,如果是仅仅刚开始学习OpenCv而不是正式开发实际项目,那么为了简单,可以直接引用opencv2/opencv.hpp头文件,一股脑的将所有模块的头文件包含进来。2 显示一张图片示例代码:/// <summary>/// 描述:利用O...

2018-12-24 19:25:02 176

原创 第二章 Opencv下载和安装

第二章 Opencv下载和安装 仅介绍windows系统下的安装。1 OpenCv获取   官方网站:https://opencv.org/   Github地址:https://github.com/opencv/opencv2 使用编译好的库   下载OpenCv后会得到一个exe文件,直接运行会解压得到编译好的库。里面就有编译好的dll动态库opencv_world400.dl...

2018-12-19 22:54:03 3218

原创 第一章 Opencv概述

第一章 OpenCv概述1 什么是OpenCv    OpenCv是一个开源的计算机视觉库,该项目由Gary Bradski带头启动,OpenCv库使用C和C++语言编写,并进行了深度的优化,内部许多函数都使用多线程进行加速。可在Windows、linux、MacOS X等系统上运行。OpenCv的一个目标是提供易于使用的计算机视觉库,从而帮助人们快速建立精巧的视觉应用。OpenCv库包含...

2018-12-19 21:51:46 1110 1

转载 傅里叶变换

记得上大学的时候的机械振动还有工程测试利用的傅立叶变化,当时感觉云里雾里的,感觉好难,也就没有去搞,浑水摸鱼也就过来了,然后现在到了研究生阶段,发现傅立叶变换呀,卷积呀非常的重要,也是学术研究最基础的工具。在做人脸识别的时候刚好用上,所以静下心来学习一下...

2018-09-09 16:58:27 872

原创 C++内存泄漏检测

今天写一个程序突然想检测一下是否有内存泄漏,于是上网查了一下,大多数都是一种方法。只是实现略有不同,记录如下。1、 包含必要头文件在你想检测的地方都必须包含#define _CRTDBG_MAP_ALLOC #include <stdlib.h>#include <crtdbg.h>2、 检测是否有内存泄漏2.1 方法一在程序末尾加...

2018-08-19 16:27:35 1681

原创 动态库的依赖关系

Dll动态库是非常常用的技术手段,经常会发生嵌套的情况,一不小心系统就提示你缺少某个dll,从而某个函数不能用。今天做了个小测试,记录如下。 1、 动态库A产生后的文件 a.h、a.dll、a.lib 2、 动态库B调用A的方法,所需A的文件a.h、a.dll、a.lib,同时生成b.h、b.dll、b.lib。 3、 测试例子C调用B方法,所需文件b.h、b.dll、b.lib、a....

2018-08-18 13:46:16 2331

原创 设计模式之命令模式(C++)

1. 作用命令模式,一个与命令有关的模式。将命令的执行者封装在命令中,命令调用者和接受者(执行者)进行了解耦。 意图:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。2. UML类图参与者:Command:声明执行操作的接口,核心为Execute接口。同时将一个接受者对象绑定于一个动作。Concrete...

2018-07-31 20:40:04 271

原创 设计模式之责任链模式(C++)

1. 作用责任链模式主要用于处理请求,将处理请求的对象连成链,每个请求处理者都有着自己的处理权限. 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求直到有一个对象处理它为止。2. UML类图 参与者:Handler:定义一个处理请求的接口。一般还带一个设置下一个处理者的接口。Concrete...

2018-07-30 22:04:57 1742

gRPC源码下载,可直接编译

可以直接使用cmake编译。

2021-11-18

贾志刚OpenCv视频教程

贾志刚的OpenCv视频教程 基于OPencv3的,新手可以当入门资料

2019-01-14

OPenDDS示例

包含Opendds IDL数据定义生成工程 发布端工程 订阅端工程 可直接运行

2018-12-26

数字图像处理教程 冈萨雷斯第三版配置套视频

数字图像处理教程 冈萨雷斯第三版配置套视频,新手可以学习一下

2018-11-21

数字图像处理视频教程

数字图像处理视频教程,韩春梅主讲的,适合刚入门的初学者。

2018-11-21

qt 中英文切换

实现qt英语国际化 中英文动态切换 动态加载,界面实现

2018-05-25

吴恩达 coursera 机器学习视频,讲义,作业,答案

人工智能 吴恩达coursera 机器学习全套视频,讲义,课后作业,参考答案

2018-05-10

SQLServer 2008高级数据库管理视频教程

SQLServer 2008高级数据库管理视频教程全集,,非常详细

2018-05-10

网络爬虫实战案

2017年全新Python3.6网络爬虫实战案例5章(基础+实战+框架+分布式)

2018-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除