- 博客(45)
- 资源 (12)
- 收藏
- 关注
原创 C++三大类IO概述
IO类型定义在三个独立的头文件中:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,sstream定义的用于读写存储在内存中的string对象。 iostream类型由istream和ostream两者派生而来,iostream对象共享了它的两个父类的接口。也就是说,可使用iostream类型在同一个流上实现输入和输出操作。 单独使用istre
2017-07-31 19:50:16 2197
原创 【C++数据结构与算法】学习随笔一
一、 #ifndef/#define/#endif的使用#ifndef/#define/#endif 防止该头文件被重复引用,“被重复引用”是指一个头文件在同一个cpp文件中被include了多次,这种错误常常是由于include嵌套造成的。比如:存在a.h文件#include "c.h"而此时b.cpp文件引用了#include "a.h" 和#include "c.h"此时就会造成c.h重
2017-07-31 16:13:55 311
原创 重载operator<<操作符—friend ostream& operator<<(ostream&,const Date&);
利用friend友元函数对操作符#include using namespace std; class Date{friend ostream& operator<<(ostream&,const Date&); int year; int month; int day;public: Date() {year=2013; month=
2017-07-31 15:53:24 21321 7
转载 C++类模板 template <class T>
类模板与函数模板的定义和使用类似。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y; } int min(
2017-07-31 09:46:05 12243
转载 #ifndef/#define/#endif详解
想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#ifndef/#define/#endif 这些代码? 其实“被重复引用”是指一个头文件在同一个cp
2017-07-31 09:11:55 363
转载 OpenCV之形态学(开运算、闭运算、形态学梯度、顶帽、黑帽)
本文转自: http://blog.csdn.net/poem_qianmo/article/details/23184547上篇文章中,我们重点了解了腐蚀和膨胀这两种最基本的形态学操作,而运用这两个基本操作,我们可以实现更高级的形态学变换。所以,本文的主角是OpenCV中的morphologyEx函数,它利用基本的膨胀和腐蚀技术,来执行更加高级的形态学变换,如开闭运算、形
2017-07-28 21:24:33 524
原创 OpenCV之亮度、对比度详解
一、亮度和对比度调整的理论依据首先我们给出算子的概念。一般的图像处理算子都是一个函数,它接受一个或多个输入图像,并产生输出图像。下式给出了算子的一般形式: 或者今天我们所讲解的图像亮度和对比度的调整操作,其实属于图像处理变换中比较简单的一种—
2017-07-28 21:17:57 1858
原创 OpenCV之轨迹条(TrackBar)的创建和使用
一、OpenCV中轨迹条(Trackbar)的创建和使用创建轨迹条——createTrackbar函数详解createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便。首先大家要记住,它往往会和一个回调函数配合起来使用。先看下他的函数原型:C++: int createTrackbar(conststrin
2017-07-28 20:03:22 5327
原创 OpenCV之环境变量及不同VS版本OpenCV库
花费了小一天的时间解决了一个关于OpenCV的很少见一旦遇到了却又不容易解决的问题!简述如下: CMake出来的OpenCV库都是对应着相应VS版本的,如果电脑中安装了多个版本的VS(例如vs2010和vs2012),在配置OpenCV开发环境的时候有一项是配置环境变量(即把opencv的动态链接库dll分配给系统环境供程序运行的时候调用),这样的话我们往往会为每种VS都配置环境变量,
2017-07-28 19:29:44 693
原创 OpenCV之_CrtIsValidHeapPointer报错问题
这个错误有两种可能:一.释放的问题1,在不同的模块分配的内存,释放的时候会出现此问题,而此问题,只在Debug模式会提示,Release模式不会提示。但不提示并不代表没有错误,一定要解决之。内存不能跨模块分配和释放,模块分配的内存必须由该模块自己来释放,在哪个模块分配的内存,就在哪个模块释放。应该在DLL中再加一个方法,比如MemRelease,主程序调用这个方法来释放内存。2,就
2017-07-28 17:13:16 458
转载 DES/3DES/AES加密及区别
DES1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES Data Encryption Standard) 。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证
2017-07-28 15:03:05 2674
转载 Debug与Release版本的区别详解
Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。 Debug版本包括调试信息,所以要比Release版本大很多(
2017-07-27 09:39:25 375
原创 OpenCV之图形学的腐蚀与膨胀
一、理论与概念讲解——从现象到本质1.1 形态学概述形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学。下面一起来了解数学形态学的概念。数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的
2017-07-26 16:44:44 3222 1
转载 rot13加密和解密
问题ROT13(回转13位)是一种简易的替换式密码算法。它是一种在英文网络论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。ROT13 也是过去在古罗马开发的凯撒密码的一种变体。ROT13是它自身的逆反,即:要还原成原文只要使用同一算法即可得,故同样的操作可用于加密与解密。该算法并没有提供真正密码学上的保全,故它不应该被用于需要保全的用途上。它常常被
2017-07-25 22:35:48 14570
转载 C++:string和stringstream用法总结
一、stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串
2017-07-19 20:34:16 8008
原创 OpenCV之putText()函数详解
putText()函数属于imgproc组件,其功能为在图像中某一位置显示文字,OpenCV中函数定义如下:C++: void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=8, bool
2017-07-19 20:22:35 17925
转载 OpenCV之VideoCapture的使用——打开网络摄像头/图像序列
OpenCV中的VideoCapture不仅可以打开视频、usb摄像头,还可以做很多事,例如读取流媒体文件,网络摄像头,图像序列等。OpenCV如何读取usb摄像头可以参考本人的另外一篇,地址如下:点击打开链接 。本文介绍如何读取网络摄像头、图像序列,并给出代码。1、打开网络摄像头(1)先保存URL;(2)再使用VideoCapture的open方法:
2017-07-19 16:54:28 18534 4
原创 OpenCV之通道和位深的理解(CV_8UC1,CV_8SC1,CV_32FC1)
矩阵数据类型: – CV_(S|U|F)CS = 符号整型 U = 无符号整型 F = 浮点型CV_8UC1 是指一个8位无符号整型单通道矩阵,CV_32FC2是指一个32位浮点型双通道矩阵CV_8UC1 CV_8SC1 CV_16U C1 CV_16SC1 CV_8UC2 CV_8SC2 CV_16UC2 CV_16SC2 CV_8UC3 CV_8SC3 C
2017-07-19 16:51:46 19728
原创 OpenCV之颜色空间转换:cvtColor()函数
cvtColor()函数是OpenCV里的颜色空间转换函数,可以实现RGB颜色向HSV、HSI等颜色空间的转换,也可以转换为灰度空间。原型如下:void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )第一个参数为输入图像,第二个参数为输出图像,第三个参数为颜色空间转换的标识符,第四个参数为目标图像的通道数,
2017-07-19 16:17:38 1931
原创 OpenCV之RotatedRect类、minAreaRect函数详解
一、RotatedRect类RotatedRect该类表示平面上的旋转矩形,该类对象有三个重要属性:矩形中心点(质心),边长(长和宽),旋转角度。三种构造函数和三种成员操作函数,RotatedRect类定义如下:class CV_EXPORTS RotatedRect { public: //构造函数 RotatedRect(); RotatedRect(const Point2
2017-07-19 11:37:13 18631 1
原创 OpenCV之Mat类详解
Mat - 基本图像容器目的 学习Mat矩阵,了解图像的存储和Mat矩阵的使用Mat 2001年OpenCV刚出来的时候,是基于C语言接口而建。为了在内存(memory)中存放图像,当时采用名为 IplImage 的C语言结构体。其中最大的不足要数手动内存管理,用户要为开辟和销毁内存负责。一旦代码开始变得越来越庞大,会越来越多地纠缠于这个问题。 C++出现了,
2017-07-18 20:24:25 494
原创 OpenCV之简单矩阵运算
1.矩阵的点运算add(), subtract(), multiply(), divide(), absdiff(), bitwise_and(), bitwise_or(), bitwise_xor(), max(),min(), compare()对应:加,减,点乘,点除,点绝对差,点位运算—与,点位运算—或,点位运算—异或,点最大,点最小,点比较。Example. Alph
2017-07-17 21:32:24 431
原创 OpenCV之Point、Scalar数据类及基本绘图
目的学习Point定义及用Point在图像中定义2D点学习Scalar定义及如何使用Scalar用OpenCV的函数line绘 直线用OpenCV的函数ellipse绘 椭圆用OpenCV的函数rectangle绘 矩形用OpenCV的函数circle绘 圆用OpenCV的函数fillPoly绘 填充的多边形 OpenCV 原理本节中,我门将大量使用Poin
2017-07-17 20:46:16 12407
原创 OpenCV之findContours函数及参数讲解
findContours函数为查找图像轮廓函数(在查找轮廓前需对图像进行预处理为二值化图像,否则无法查找轮廓),可通过drawContours函数将找到的轮廓画出来, findContours函数,这个函数的原型为:void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray
2017-07-17 19:59:20 1455
转载 x264源代码简单分析:熵编码(Entropy Encoding)部分
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45944811 欢迎访问原址! 本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_write_cavlc()的源代码。x264_macroblock_write_cavlc()对应着x264中的熵编码模
2017-07-17 19:52:48 820 1
转载 x264源代码简单分析:宏块编码(Encode)部分
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45938927 欢迎访问原址! 本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_encode()的源代码。x264_macroblock_encode()对应着x264中的宏块编码模块。宏块编码
2017-07-17 19:51:45 450
转载 x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45936267 欢迎访问原址! 本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_analyse()的源代码。x264_macroblock_analyse()对应着x264中的分析模块。分析模块主要
2017-07-17 19:49:11 1046
转载 x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45870269 欢迎访问原处! 本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_analyse()的源代码。x264_macroblock_analyse()对应着x264中的分析模块。分析模块主要完成了下面
2017-07-17 19:40:34 1318
转载 x264源代码简单分析:滤波(Filter)部分
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45870269 欢迎访问原处! 本文记录x264的x264_slice_write()函数中调用的x264_fdec_filter_row()的源代码。x264_fdec_filter_row()对应着x264中的滤波模块。滤波模块主要完成了下面3个方面的功能:
2017-07-17 17:13:42 1100
转载 x264源代码简单分析:x264_slice_write()
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45790195 欢迎访问原处! 本文简单分析x264的x264_slice_write()的源代码。x264_slice_write()是x264项目的核心,它完成了编码了一个Slice的工作。根据功能的不同,该函数可以分为滤波(Filter),分析(A
2017-07-17 17:04:15 958
转载 x264源代码简单分析:编码器主干部分-2
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45719905 欢迎访问原处。 本文继续记录x264编码器主干部分的源代码。上一篇文章记录x264_encoder_open(),x264_encoder_headers(),和x264_encoder_close()这三个函数,本文记录x264_enc
2017-07-16 16:18:36 1301 1
转载 x264源代码简单分析:编码器主干部分-1
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45644367 欢迎访问原处。 本文分析x264编码器主干部分的源代码。“主干部分”指的就是libx264中最核心的接口函数——x264_encoder_encode(),以及相关的几个接口函数x264_encoder_open(),x264_encoder
2017-07-16 16:08:39 2212
转载 x264源代码简单分析:x264命令行工具(x264.exe)
本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45583217 欢迎访问原作!本文简单分析x264项目中的命令行工具(x264.exe)的源代码。该命令行工具可以调用libx264将YUV格式像素数据编码为H.264码流。函数调用关系图X264命令行工具的源代码在x264中的位置如
2017-07-16 16:02:45 1323
转载 x264源代码简单分析:概述
=====================================================本文转自:http://blog.csdn.net/leixiaohua1020/article/details/45536607,后续文章皆转自雷博士,特此感激并缅怀雷博士所分享文章,在基础上学习并完善!==================================
2017-07-16 15:54:18 262
转载 CTF工具集合安装脚本操作
合集包括了以下工具:类型 工具 描述binary afl 目前最棒的 fuzzer.binary angr 来自Sheephish的下一代二进制分析引擎binary barf 二进制分析逆向工程框架binary bindead
2017-07-16 15:11:23 4789 3
原创 OpenCV的setTo函数及Mat mat=labels==1详解
opencv的setTo函数是将图像设置为某个值,比如有一个Mat src,想将他的值全部设置成0,则可以src.setTo(0) 另外,setTo还有更为高级的用法:1.对于一个已知的src,我们要将其中大于或者小于某个值的像素值设置为指定的值,则可以如下:src.setTo(0,src 2.src.setTo(颜色值,mat);这里的意思是,将mat矩阵中值为255位置与其相
2017-07-08 20:37:21 3222
原创 OpenCV遍历和输出Mat矩阵中数据方法总结
一、Mat中图像像素的访问方式1.ptr操作和指针-高效的方式这种方式基于.ptr的操作,也是比较推荐的遍历图像的方式。1234567891011121314151617181920212
2017-07-08 19:52:15 23236 2
原创 OpenCV读入图像及通道详解
使用OpenCV的imread()函数读入图像,往往需要区分图像是单通道图像还是多通道图像。 灰度图像通道数(channels)为1(占8位),彩色图像通道数(channels)为3(占24位),灰度图像只需要一个0-255的值来描述,imread(“image_path”,0)进行灰度图像读入,如果不是灰度图像则将其转化为灰度图像,灰度图像在内存中连续存储,在Mat存储如下图:
2017-07-08 19:06:13 24166 2
转载 OpenCV中CV_Assert函数和C++中assert()函数
目前 学习opencv查看源代码时发现CV_Assert(src.rows ++ 3 && src.cols ==3),其实CV_Assert()函数与C++标准库中的assert()函数功能基本相同。CV_Assert()作用:CV_Assert()若括号中的表达式值为false,则返回一个错误信息;若括号内表达式成立true,则程序继续执行。ssert 宏的原型定义在中, 其作
2017-07-07 20:56:25 1463
原创 OpenCV之RNG生成随机数类详解
OpenCV中主要是通过RNG类来生成随机数,默认定义RNG类对象的时候需要初始化一个种子(默认种子为0xFFFFFFFF,64位无符号值),对种子进行运算从而生成随机数,RNG类定义如下:如果将种子设定为默认种子的话,每次运行种子及其种子运算所得随机数不变,往往不利于程序需求,通常可将种子设置为当前时间,这样每次获得的种子及其运算所得随机数都不同。默认种子RNG类定义:RNG rng(0
2017-07-07 15:04:34 3755
ippicv_windows_20141027
2017-07-10
提取SIFT并用RANSAC剔去错匹配byRobHess
2017-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人