自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VGG学习

VGG优缺点VGG优点VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。 几个小滤波器(3x3)卷积层的组合比一个大滤波器(5x5或7x7)卷积层好: 验证了通过不断加深网络结构可以提升性能。VGG缺点VGG耗费更多计算资源,并且使用了更多的参数(这里不是3x3卷积的锅),导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。VGG可是有3个全连接层啊!PS:有的文章称:发现这些全连接层即使被去除,对于性能也没.

2020-09-03 11:23:56 696

原创 大津法加速

int Otsu2_accel(cv::Mat _src, int _width, int _height){ int pixelCount[256] = { 0 }; float pixelPro[256] = { 0 }; // 统计灰度级中每个像素在整幅图像中的个数 for (int y = 0; y < _height; y++) { int offset = y...

2019-09-26 14:56:53 372

原创 ORB、SIFT、SURF、手动配准VS程序以及配准后图像融合方法

#include<opencv2\highgui\highgui.hpp>#include "opencv2/nonfree/nonfree.hpp" #include "opencv2/legacy/legacy.hpp" #include <iostream> using namespace cv;using namespace std;#...

2019-06-12 19:20:24 1287

转载 Ubuntu16.0编译opencv3.4.2

cmake时候关闭ippic加速 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_IPP=OFF安装opencv3.4.0:https://blog.youkuaiyun.com/cocoaqin/article/details/78163171安装eclipse:https://www.cn...

2019-06-12 17:22:14 277

转载 C++类模板的使用以及内联函数的作用(转载)

直接上链接地址:内联函数和普通函数讲解---http://m.elecfans.com/article/604032.html 类模板的使用https://www.cnblogs.com/cxq0017/p/6076856.html...

2019-06-12 15:03:27 823

转载 LBP详解

https://www.cnblogs.com/nsnow/p/4461998.htmlhttps://blog.youkuaiyun.com/Hk_john/article/details/78422032https://blog.youkuaiyun.com/Hk_john/article/details/78422032https://blog.youkuaiyun.com/xiaojiajia007/articl...

2019-04-19 17:05:32 353

转载 向量积和数量积常用知识

注意,数量积是一个数,而不是一个向量。向量积是一个向量,此向量垂直于相乘的两个向量。处于与z轴方向平行。如果 res<0,说明结果向量垂直于屏幕向里,也就是指向Z轴的负方向,P点在直线的下侧。如果res>0,说明结果向量垂直于屏幕向外,也就是指向Z轴的正方向,P点在直线的上侧。如果res=0,P点在直线上。参考:https://blog.csd...

2019-04-11 19:49:30 2654

转载 (转载)计算二值图像连通域

推荐几个不错的连接https://blog.youkuaiyun.com/mei_zs/article/details/83385909https://www.cnblogs.com/fireae/p/3723785.htmlhttps://www.cnblogs.com/ryuasuka/p/4932239.htmlhttp://blog.sina.com.cn/s/blog_659f58370...

2019-04-11 09:48:04 921

原创 基于C语言的最大值滤波

void MaxFilter(unsigned int *src, unsigned int *dst, int width, int height){ assert(src != NULL); assert(dst != NULL); assert(width >= 0); assert(height >= 0); memset(expandDwtImageBuff,...

2019-04-10 17:23:11 374

原创 一种基于C语言的聚类算法实现

int Cluster(int distance){ assert(distance > 0);//targetPtNum 是所有目标点的个数 if (targetPtNum <= 0) return targetPtNum; // 定义1为点存在,0为点不存在 memset(targetPtExistFlag, TRUE, targetPtNum * sizeof...

2019-04-10 17:21:58 509

原创 C语言计算图像的积分图

void CountIntegral(unsigned int *src, unsigned int *dst, int width, int height){ assert(src != NULL); assert(dst != NULL); assert(width >= 0); assert(height >= 0); dst[0] = src[0]; for ...

2019-04-02 09:20:55 582

原创 C语言实现图像锐化

void SharpenInt(unsigned int *_src, unsigned int *_dst, int _width, int _height){ int *Ix = tmpBuff; int *Iy = tmpBuff + _width * _height * sizeof(int); // 求梯度 for (int y = 0; y < _height; ...

2019-04-01 19:27:29 2348 2

原创 C语言实现小波变换

void DWT(char *src,char *dst,int height,int width){ for (int y = 0; y < height - 1; y += 2) { for (int x = 0; x < width - 1; x += 2) { int s1 = src[y * width + x]; int s2 = ...

2019-04-01 19:26:42 6980

原创 字符串分割函数strtok备忘笔记

当我们需要从一串IP地址或者车牌号中识别出来自己需要的数字要怎么做呢?可以使用string.h中的strtok字符串分割函数。char* strtok (char* str,const char* delimiters );//该函数调用一次,返回第一个被分割的字符串首地址,所以若想分割全部的字符串,需要多次调用,直到str到 //达末尾//参数解释://st...

2019-03-15 09:33:37 148

原创 C语言中的__FUNCTION__,_FILE_和_LINE_用法

C/C++提供了三个宏__FUNCTION__,_FILE_和_LINE_定位程序运行时的错误。程序预编译时预编译器将用所在的函数名,文件名和行号替换。当运行时错误产生后这三个宏分别能返回错误所在的函数,所在的文件名和所在的行号。不多说,直接上代码和运行结果1//文件名字叫test.cpp,位于D:\test\下 #include &lt;stdio.h&gt;2 3 int ma...

2019-03-14 20:43:46 19248

原创 linux中进程内部消息队列通信代码以及说明

#include &lt;stdio.h&gt; //使用pthread头文件进行创建线程,和sem_wait等相关操作,//注意编译时加上-lpthread选项,以调用静态链接库。因为pthread并非Linux系统的默认库。#include &lt;pthread.h&gt;#include &lt;semaphore.h&gt; #include &lt;unistd.h&g...

2019-03-08 12:04:00 231

原创 void*指针的使用和问题说明

今天在移植和优化算法程序时遇到一个问题,这个问题可能老手工程师会经常见,我却在这里犯迷糊了,话不多说先上代码看看问题是啥 typedef void *GDALDatasetH; GDALDatasetH baseImgDS = GDALOpenShared(baseImgPath,GA_ReadOnly); GDALDatasetH regImgDS...

2019-03-08 11:57:03 314 1

原创 opencv(8)感兴趣区域

/*ROI从英文全称上就可以理解是什么Region of interest就是感兴趣区域的意思啦*/#include&lt;opencv.hpp&gt;#include&lt;highgui.hpp&gt;using namespace std;using namespace cv;void main(){ //获取感兴趣区域有两种方式,一种是指定感兴趣区域的x,y坐标和长...

2019-03-06 10:33:26 297

原创 opencv(7)自适应阈值化函数的使用和图像的炬的概念

#include&lt;opencv.hpp&gt;#include&lt;highgui.hpp&gt;#include&lt;imgproc.hpp&gt;using namespace std;using namespace cv;/*OpenCV中提供了自适应阈值化函数adaptiveThreshold(),该函数有两种自适应阈值化类型参数可供选择,用来对当前像素点与领域像...

2019-03-06 10:03:30 221

原创 opencv--之霍夫变换(求图像中的直线)

按照我的理解,霍夫变换就是一种边缘检测,检测出来直线或者圆/*霍夫线变换是一种在图像中寻找直线的方法。OpenCV中支持三种霍夫线变换,分别是标准霍夫线变换、多尺度霍夫线变换、累计概率霍夫线变换。在OpenCV中可以调用函数HoughLines来调用标准霍夫线变换和多尺度霍夫线变换。HoughLinesP函数用于调用累积概率霍夫线变换。我们都知道,二维坐标轴上表示一条直线的方程式y...

2019-03-05 16:30:58 532

原创 opencv-5 边缘检测Canny和sober

#include&lt;opencv.hpp&gt;#include&lt;highgui.hpp&gt;using namespace std;using namespace cv;/*在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。与Prewitt算子相比,Sobel算子对于像素的位置的影响做了加权,...

2019-03-05 15:45:03 704

原创 opencv---(4)卷积的理解和图像金字塔

/* 1:进行图像缩放的最精准和高效的方法就是用resize自带函数,通过 手动输入缩放以后图像的长宽或者缩放的比例即可。 2:图像金字塔说白了就是用来缩放图像的,但是其缩放效果不如resize 而且模糊程度较高。图像金字塔是在学习卷积神经网络时会经常遇到 这个名词,需要好好理解一下. 3:两种类型的金字塔: 高斯金字塔:用于下采样,主要的图像金字塔; 拉普拉斯金字塔:...

2019-03-05 14:58:01 400

原创 opencv学习--(3)滤波总结

/*最大值滤波可以去除图像中的暗斑,同时也会使亮斑增大;最小值滤波可以去除图像中的亮斑,同时也会增大暗斑滤波处理分为两大类:线性滤波和非线性滤波。OpenCV里有这些滤波的函数,使用起来非常方便,现在简单介绍其使用方法。线性滤波:方框滤波、均值滤波、高斯滤波 均值滤波:均值滤波就是方框滤波的一个特殊情况。 均值滤波的缺点就是不能很好地保护细节,在图像去燥的同时也破坏...

2019-03-05 11:50:46 395

原创 opencv学习(2)图像处理的基本基础知识

首先感谢博客园的Madcola博主,他给了我很多启发,也让我深受鼓舞,我的opencv系列博客都是受他启发而写。大家感兴趣的可以也去关注一下这位博主#include&lt;iostream&gt;#include&lt;opencv.hpp&gt;#include&lt;highgui.hpp&gt;using namespace std;using namespace cv;...

2019-03-05 11:20:07 289

原创 opencv 学习(1)VS2015永久性地配置opencv3.4

首先感谢博客园的Madcola博主,他给了我很多启发,也让我深受鼓舞,我的opencv系列博客都是受他启发而写。大家感兴趣的可以也去关注一下这位博主一直在做图像处理地工作,包括opencv,但是从来没有记录过,今天决定以后开始一点一点把opencv的学习之路记录下来。首先,我这里提供一个已经编译好的opencv3.4地百度云链接,直接下载直接就可以开始配置了,干脆利落。链接:https...

2019-03-05 09:26:31 377

原创 C语言如何判断两个区间是否有交叉

比如两个x轴方向的区间段,C语言如何快速判断两个区间段是否有交叉呢?请看下面代码bool IsCross( RECT *rect1, RECT *rect2 ){ RECT rcTmp; rcTmp.left = _max( rect1-&gt;left, rect2-&gt;left ); //rcTmp.top = _max( rect1-&gt;top, rect2-...

2019-02-28 15:28:11 2167

原创 关于字节对齐问题

今天在进行嵌入式移植某个算法时,移植之前,我按照惯例,先把程序在VS上修改成适合嵌入式linux的版本,我先在VS把linux中没有的头文件windows.h去掉以后,手动实现了一个程序里面需要用到的某个结构体BITMAPFILEHEADER,然后运行,程序竟然在loadImage(自己的API)的时候竟然就开始出错,src_img竟然是一个非常大的数,我经过断电排查,发现了一个bug,,,是有关...

2019-02-25 21:36:56 270

原创 C++中有关Stream流处理的相关总结

一直以来都很排斥使用stream流来解决问题,直到有一天突然使用了一下,发现真的超级简单。不多BB。比如,我需要解析一串XMl节点路径"/a/b/c/d",现在我肯定首先要解析出每一个结点的名字,就是分别把a,b,c,d存在vector中或者数组中,不用流你会怎么做?还是比较费功夫的,如果使用流的话,请看下面的代码。vector&lt;string&gt; XmlInterface:...

2019-02-22 16:07:12 447

原创 opencv中画直方图的函数总结

画直方图的主要步骤:直方图的创建→计算图像的直方图→画出直方图IplImage *DrawHistogram(CvHistogram*hist, float scaleX = 1, float scaleY = 1){ float hisMax = 0; cvGetMinMaxHistValue(hist,0,&amp;hisMax,0,0); IplImage *imgHist =...

2019-02-22 11:03:48 803

原创 CMOS相机和CCD相机的区别

一直不太清楚CMOS相机和CCD相机的区别,今天感冒了,但是还是想更一片博客,记录一下。一:     CCD指“电荷耦合器件”,是将光信号转换为电信号的一种图像传感器。         CCD根据结构不同   ,可分为线阵CCD,面阵CCD。面阵CCD又分为全帧型,帧转移型,行间转移型,TDI型。       CMOS指“互补金属氧化物半导体”,也是一种图像传感器。二:    ...

2019-02-14 17:42:53 10027

原创 如何通过在函数外部的指针传递到函数内部并且修改其内容

当你在函数外部需要声明一个指针,然后将指针作为参数传递给接下来调用的函数时,需要注意亮点1:声明的指针分配了内存2:声明的是空指针,未分配内存针对于1情况,用一下方式可以直接实现void jack(char* ptr){ char* p = "abcdefg"; strcpy(ptr,p); return;}int main(){ char* p = NULL;...

2019-02-14 14:51:40 2025

转载 栈和堆的区别

说起会了解这个东西,还是比较尴尬的,在学校里面老师一般不会讲解C++的堆和栈,大多数人了解的堆和栈是数据结构里面的概念,而这里一般面试官想问的是C++的内存分区管理方式。首先说明,在C++中,内存分为5个区:堆、占、自由存储区、全局/静态存储区、常量存储区栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、函数参数等。堆:是由new分配的内存块,由程序员释放(编...

2019-01-18 09:56:14 116

原创 Static、局部变量、全局变量、栈、堆、内存中代码的存储形式的总结

C/C++代码在内存中一直由这部分组成:1)正文段(代码段)——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。(这就是为什么全局内置类型变量会初始化,而局部变量就为未初始化的未知值)4)...

2019-01-18 09:42:59 613

转载 转载C++数据存储

链接地址:https://www.cnblogs.com/DannyShi/p/4584750.html

2019-01-17 19:27:03 369

原创 inline内联和宏的区别

总结一句话就是:宏必须是参数替换,不能按值传递。讲一下下面的例子大家就懂了#define SQUARE(X) X*X//这并不是通过传递参数实现的,而是通过文本替换来实现的--X是参数的符号标记a = SQUARE(5.0);//is replaced by b = 4.5+7.5*4.5+7.5;d = SQUARE(5.0);//is replaced by d = c++*c+...

2019-01-16 19:29:04 158

原创 C++的static_cast等转换

static_cast: 在功能上基本上与C风格的类型转换一样强大,含义也一样。它也有功能上限制。例如,你不能用static_cast象用C风格的类型转换一样把struct转换成int类型或者把double类型转换成指针类型,另外,static_cast不能从表达式中去除const属性,因为另一个新的类型转换操作符const_cast有这样的功能。const_cast: 用于类型转换掉表达式的c...

2019-01-15 10:54:15 1268

原创 const的通俗理解

尽可能的使用const来保护数据//-------------1-----------int age = 39;const int *pt = &amp;age;int sage = 80;pt = &amp;sage;//this is OK C++ primer P223//------------2---------------int sloth = 3;cons...

2019-01-15 10:13:42 136

原创 指针与C++基本原理

面向对象编程与传统的过程性编程的区别在于,OOP强调是在运行阶段(而不是在编译阶段)进行决策。运行阶段指的是程序在运行时,编译阶段指的是在编译器将程序结合起来时。运行阶段决策就好像是度假,选择参观的景点取决于天气和当时的心情;而编译阶段决策更像不管在什么条件下,都坚持预先设定的日程安排。...

2019-01-15 09:45:54 121

转载 目标检测和YOLOV3网络的学习

分享一个非优快云的讲解YOLO系列网络的网站:https://www.cnblogs.com/makefile/p/YOLOv3.html

2019-01-15 09:26:30 237

转载 高斯分布在图像处理中的应用以及高斯模糊的原理

链接地址:https://www.cnblogs.com/herenzhiming/articles/5276106.html

2019-01-14 16:28:56 995

空空如也

空空如也

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

TA关注的人

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