自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 OpenCV的Rect矩形类用法

//如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:rect.area(); //返回rect的面积 5000rect.size(); //返回rect的尺寸 [50 × 100]rect.tl(); //返回rect的左上顶点的坐标 [100, 50]rect...

2019-02-11 13:32:08 350

原创 minicom USB转串口设备 配置

1.安装minicomsudo apt-get install minicom2.查找设备信息dmesg | grep tty使用dmesg命令打印出开机到现在相关的log信息。一般USB转串口的名称为:ttyUSB 0,用于修改后面的配置3.修改配置1> minicom -s2> sudo minicomctrl +A ---->Z   ----...

2018-08-10 15:17:54 879

原创 存储介质(sd卡,硬盘等)读写速度测试

写: dd if=/dev/zero of=test bs=64k count=16k conv=fsync说明:conv=fsync作用是保证数据在dd命令结束前真正写入了磁盘,而不是暂留在缓存。是最后进行一次数据同步。而如果配置oflag=sync,则数据会是每一次写都得等到这一次写到了磁盘才进行下一此写入,每次 都要同步。所以conv=fsync更接近实际的数据写入模式。读:1.dd if=...

2018-06-22 19:27:41 3372

原创 gamma校正

参考资料:https://www.zhihu.com/question/27467127主要参考知乎网友韩世麟关于“色彩校正中gamma值是什么?”的回答。总结起来,gamma校正中关键点为:1.根据韦伯定律,人对自然界刺激的感知是非线性的。人心目中看起来中灰的色块,其物理亮度值大约在白色块的20%左右。2.灰阶预算很紧张。普通情况下,我们用一个字节表示灰度值,最小为0 ,最大为255.因此,为了...

2018-04-26 12:47:26 577

原创 opencv imread() flags

默认值为1:即always convert image to the 3 channel BGR color imageenum ImreadModes { IMREAD_UNCHANGED = -1, //!< If set, return the loaded image as is (with alpha channel, otherwise it g...

2018-04-26 10:34:52 1832

原创 opencv normalize()函数详解

opencv中的normalize()函数可以对向量进行范数归一化或者范围(最大最小)归一化。void cv::normalize(InputArray src,  InputOutputArray dst,  double alpha = 1,  double beta = 0,  int norm_type = NORM_L2,  int dtype = -1,  InputArray mas...

2018-04-11 18:44:42 14331 1

原创 git 远程分支

1.git branch -a:显示本地分支和远程分支。2.跟踪远程分支:    当克隆一个仓库事时,会自动创建一个跟踪远程默认分支(假如为origin/master)的本地分支master,当然,也可以在克隆的时候指定要跟踪的远程分支。命令为:git clone -b <remote_branch_name>  [remote reporitory address]....

2018-04-09 19:45:31 242

原创 拉普拉斯融合算法

***无意看到了拉普拉斯的图像融合算法,浏览了几篇博客,终于弄懂了其中的原理,现在作一个记录,方便以后理解使用。****算法流程:1.分别计算待融合的两幅图像的拉普拉斯金字塔2.计算得到两幅图像最顶层的高斯金字塔(这一步包含在第一步当中,因为在求拉普拉斯金字塔前要先得到图像的高斯金字塔)3.生成每一级的掩模金字塔(用来后面做叠加融合)4.分别用每一级相应的掩模对每一级的

2018-01-11 18:47:52 1602

原创 关于摄像头标定中缩放参数s(scale)的解释

大家可能有段时间听过一句广告语:前置2000万柔光自拍,照亮你的美!分隔符********************************************************************分隔符正题:两个很重要的概念:物理分辨率和逻辑分辨率1>物理分辨率:即硬件固有的分辨率,对于摄像头指的就是感光器件一个个感光元组成的整体;对于LED和LCD显示屏大概

2017-11-27 15:46:03 6287 5

原创 线性代数中的一点理解和感悟

看完各路大神相关的东西,写下自己的一点理解和总结。1.先说线性的概念,何为线性,数学里,一般说的线性指的是线性映射,这个映射要同时满足两个条件:1)可加性:f(x+y)=f(x)+f(y)2)   齐次性:f(ax)= af(x)任何一条不满足,就不能叫做线性。2.再说线性空间,线性空间就是一个包含若干向量的空间,而且根据线性空间的定义(),它还应该满足以下条件:1)任意取

2017-09-28 10:44:13 5340 1

原创 opencv中mask的作用

在图像处理的过程中,我们时常需要对指定区域或目标进行操作,这个区域我们称之为感兴趣区域。opencv中mask的作用就是创建感兴趣区域,即待处理的区域。      通常,mask大小创建分为两步,先创建与原图一致,类型为CV_8UC1或者CV_8UC3的全零图(即黑色图)。如mask = Mat::zeros(image.size(),CV_8UC1);    然后用rect类或者fill

2017-09-25 15:18:02 2502

转载 dlib相关问题

原文链接:http://blog.csdn.net/yiyuehuan/article/details/70667318在 Dlib 自己提供的解决方案 example 中编译各项目一般不会有什么问题,但是如果想用 Dlib 中的示例代码来新建项目那么恐怕就得注意以下几点:假设 Dlib 被解压在目录 ***\Dlib\dlib-19.4\ 下。测试版本:dli

2017-07-19 13:49:34 1435 1

转载 _USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent _use_of_DEBUG_or_ENABLE_ASSERTS_prep

原文链接:http://blog.csdn.net/duan19920101/article/details/51396303VS中无法解析的外部符号:_USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocesso

2017-07-18 11:46:34 1332

原创 视频的读取、播放、保存

视频无法播放,已尝试网上各种方法。悲允!!!#include#include#include#includeint main(){ cv::VideoCapture capture; //读取视频文件,无法读取,暂时问题没有解决 capture.open("videotest.avi"); //判断视频流读取是否正确 if (!capture.is

2017-07-14 11:22:14 375 1

原创 扫描(遍历)图像

#include#include#include#includeusing namespace std;//******1.扫描图像——指针访问******////减色函数,image为源图像,div为减色因子,最终的颜色总数由256*256*256减少到(256/div)*(256/div)*(256/div)种。//v1.0 :对输入图像就地

2017-05-04 14:26:48 558

原创 访问像素

#include#include#include#include//******1.访问像素值******////添加椒盐噪声,第一个参数为源图像,第二个参数为要改成白色的像素数量void salt(cv::Mat image, int n) //之所以image采用值传递,是因为在调用函数时,形参只是简单地对实参进行了浅复制,它们仍共享同一块图像数据,即相当于引用传递。{

2017-05-04 14:24:29 242

原创 计算代码段运行时间(openCV版)

1.为了衡量函数或代码段的运行时间,openCV有一个很实用的函数:cv::getTickCount(),该函数返回从最近一次电脑开机到当前的时钟周期数。2.为了得到代码的运行时间,还需要另外一个函数:cv::getTickFrequency(),这个函数返回每秒的时钟周期数。3.最后,可以利用以下的程序模板来计算某个函数或者代码段的运行时间,单位为秒:const int64 star

2017-05-03 17:36:34 892

原创 openCV-基础

#include#include#include#includeint main(){ //******1.显示图片******// /* cv::Mat srcImage = cv::imread("Z:\\openCV_test\\I1.jpg"); if (!srcImage.data) return 1; cv::imshow("scrImage", srcIma

2017-04-27 16:28:15 616

原创 Hough变换提取直线

1.首先我们来说明Hough变换的定义:    如下图,直角坐标系中有一条直线l,原点到该直线的垂直距离为ρ,垂线与x轴的夹角为θ,则这条直线是唯一的,且该直线在极坐标系中的方程为:ρ=xcosθ+ysinθ。

2017-04-05 16:59:07 8098

原创 我理解的PCA

很多时候看到PCA,只知PCA是用来特征降维的,却不知道其具体的实现过程及原理。看过几篇大牛的讲解后,降我的理解写下来。先通过网上的例子说明PCA的计算流程:2. PCA计算过程    begin:十个样本,每个样本包含2尾特征     假设数据如下:     可以认为有10辆汽车,x是千米/小时的速度,y是英里/小时的速度,等等。     第一步分

2017-03-25 18:02:18 452

原创 差分运算

之前在很多地方见到过差分运算,但不是很明白是是什么意思。这次在看基于harris算子的角点检测时,又看到了在求灰度变化率时,对图像的微分计算时实际用差分运算来近似,就又看了一下差分运算是什么究竟,下面就我的初步了解作说明:   首先,我们先说明什么是微分。微分的定义:设函数y = f(x)在x的邻域内有定义,x及x + Δx在此区间内。如果函数的增量Δy = f(x + Δ

2017-03-24 01:52:47 9058 1

转载 Harris角点检测原理详解

转自:http://www.360doc.com/content/15/1212/23/20007814_519967668.shtml1. 不同类型的角点在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:角点可以是两个边缘的角点;角点是邻域内具有两个主方向的特征点;前者往往需要对图像边缘进行编码,这在很大

2017-03-22 15:45:54 1343

转载 static静态变量的理解

静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执 行

2016-11-07 10:56:32 418

原创 M文件编程小技巧

1.Tab键右移整段代码选中一段或整段代码,将整段代码右移一个制表符长度(4个空格的长度)。2.Shift+Tab组合键左移整段代码同上3.Tab键自动补全函数名输入函数名的前几个字符后按下Tab键,M文件编辑器会试图补全该函数名,弹出所有的可能的已有函数名列表。4.自动提示函数的所有调用格式输入函数名和左括号后,M文件编辑器会提示该函数的所有调用格式。5.F1键显

2016-09-06 21:28:28 505

转载 Matlab中提高m文件执行效率的小技巧

原文地址:Matlab中提高m文件执行效率的小技巧作者:intothesun这篇文章是同学发给我的,不知原文出自哪里,介绍的基本上是有些用的小技巧,关于for循环的应用,据我个人的经验,有些时候下述第一条产生的时间差别甚至会达到一个数量级,还是相当可观的。不过提高matlab程序效率的最为根本的是结合matlab的特点,精简算法,曾经写过一个积分程序,在访问矩阵的时候,

2016-09-06 21:24:42 4537

转载 MATLAB 编程风格指南

文章转自:http://blog.csdn.net/chenyusiyuan/article/details/189237MATLAB 编程风格指南     ——Richard  Johnson Version 1.5,Oct.  2002 版权; Datatool 所有 翻译:Genial @ USTC “Language is like a cracked kett

2016-09-06 21:17:49 2025

翻译 rand randn randi 的区别

1,rand 生成均匀分布的伪随机数。分布在(0~1)之间   主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数             rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'             rand(RandStream,m,n)利用指定的RandStream生成伪随机数2,randn 生成标准正态

2016-09-06 02:46:04 632

转载 句柄与指针的区别(二)

句柄vs指针 句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知 这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础 的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足

2016-08-25 02:11:40 1065

转载 句柄与指针的区别(一)

句柄其实就是指针,但是他和指针最大的不同是:给你一个指针,你可以通过这个指针做任何事情,也许是好事,也许是通过这个指针破坏内存,干一些捣乱的事情。这个我想大家都会碰到过,因为乱用指针导致程序崩溃句柄就没有这个缺点,通过句柄,你只能干一些windows让你干的事情(调用一些api函数等等),没有了指针的坏处。    句柄是一些表的索引也就是指向指针的指针,句柄和指针都是地址,句柄是Win

2016-08-25 02:04:14 571 1

原创 LIN开发流程(for freescale)

1.首先有几个基本概念需要了解:1)LDF(LIN Configuration Description File):LDF文件描述了一个完整的LIN簇包括主/从节点定义以及处理LIN簇的信息。2)NPF(Node Private Description File):NPF文件包含的信息包括LIN节点:比如节点名称、接口的数量,单片机的时钟频率,所用得通信信道(如SCI通道)和端口(例如GP

2016-08-13 22:45:10 22137 4

转载 比特率 波特率 数据传输速率 区别

1.比特率  比特率(bit rate)又称传信率、信息传输速率(简称信息速率,information rate)。其定义是:通信线路(或系统)单位时间(每秒)内传输的信息量,即每秒能传输的二进制位数,通常用Rb表示,其单位是比特/秒(bit/s或b/s,英文缩略语为bps)。  在二进制系统中,信息速率(比特率)与信号速率(波特率)相等,例如,当系统以每秒50个二进制符号传输时,

2016-08-05 15:42:55 4686

转载 Haar特征

原文地址:http://blog.csdn.net/zouxy09/article/details/7929570目标检测的图像特征提取之(三)Haar特征zouxy09@qq.comhttp://blog.csdn.net/zouxy09 1、Haar-like特征       Haar-like特征最早是由Papageorgiou等应用于人脸

2016-07-16 18:34:07 440

转载 (学习笔记)摄像机模型与标定——三个坐标系及其之间关系

本文转载自:http://www.360doc.com/content/14/0410/14/10724725_367760675.shtml1、图像坐标系如图2.1所示,以图像左上角为原点建立以像素为单位的直接坐标系u-v。像素的横坐标u与纵坐标v分别是在其图像数组中所在的列数与所在行数。(在OpenCV中u对应

2016-05-19 22:05:28 18571

原创 单片机位数解释

8位单片机 16位 32位区别 指CPU一次处理的数据的宽度,其实就是CPU中参与运算的寄存器的位数。通俗讲就是:是指单片机CPU每次处理能力,8位是指单片机一次可以计算8位数据,16位是指单片机一次可以计算16位数据如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。 如果总线宽度与CPU一次处理的数据宽度不同: 1)总线宽度小于CPU一次处理的数据宽

2016-05-11 16:24:15 9942

转载 c语言中变量作用域的区别

总的分为局部变量和全局变量:局部变量又可分为动态局部变量(没特殊声明的变量一般都为动态局部变量)和静态局部变量(用static关键字声明的变量如:static int a;);两者的区别在于:静态的局部变量生存期比动态的局部变量来的长,动态的局部变量的生存期为所定义的范围内,如在函数内定义的,函数结束,变量也跟着结束,变量的值不会保存下来。而静态变量的生存期为整个源程序(也可说是一个文件,不同环境

2016-05-05 16:06:03 399

转载 时钟周期/指令周期/机器周期/总线周期+系统时钟,CPU时钟

时钟周期时钟周期也称为震荡周期, 定义为时钟脉冲的倒数, 是计算机中最基本, 最小的时间单位.在一个时钟周期内, CPU只完成最基本的动作. 对同一种机型而言, 时钟频率越高, 计算机工作速度越快.机器周期在计算机中, 为了便于管理, 通常把一条指令执行划分为若干个阶段, 每一个阶段完成一项任务. 如: 取指令, 存储器读, 存储器写等, 这每一项工作称为一个基本操作.

2016-04-21 22:43:32 3400 1

原创 C语言数据类型之共用体

1.定义:在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。这几个不同的变量共同占用同一段内存结构。对于共用体变量,系统按该变量中各共用体成员中所需空间最大的那个成员的长度分配内存空间。 2.共用体类型的定义union 共用体类型标示符{类型说明符 变量名;};例如:union data{int i;char ch

2016-04-07 17:49:21 2669

转载 详解c中volatile关键字

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;vo

2016-04-07 11:19:16 262

原创 c学习--指针常量与常量指针i

1.指针常量C语言里既然有指针变量,那么也有指针常量。可以理解为指针常量只能唯一指向其赋值时的某一变量指针常量定义格式如下:类型说明符 *const  指针常量名;例如:int a = 100;int *const p = &a;上边定义了一个指针常量指向变量a。此时,指针p是一个常量,其保存的内容即变量a的地址不能变,即指针p只能指向变量a2.常量指针常量指针

2016-03-09 20:15:08 759

原创 c语言--指针

1.指针:存储单元的单元地址即为指针。c语言中,允许使用一个变量来保存某个变量的地址,这种变量称作指针变量。从其概念来看,指针变量保存的是另一个变量的地址,而不是某个值。定义指针的目的是为了通过指针去访问存储单元。(一个指针占用四个字节的内存空间,因为内存地址一般为四个字节,例如0X0009851C)。2.指针学习中以下几个关键的 点把握住1.地址运算符&:C语言中提供了地址运算符&来获取

2016-03-09 10:43:34 366

空空如也

空空如也

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

TA关注的人

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