自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++实现】基本排序算法 插入排序——归并排序——快速排序——堆排序

/*排序总结:(基于100w随机数,有序数、重复数测试)1、插入排序适合近乎有序的序列2、归并排序优化:(优化前       120S)1)数据小于15时采用插入排序 10S2)避免频繁动态申请内存 memcpy(dest,src,sizeof(int)*len) 用static 变量      0.2S缺点:需要O(N)的空间复杂度3、快速排序优化:(优化前 如果序列完全有序,则...

2018-09-05 16:48:56 400

原创 【C++实现】并查集 6个版本 从入门到优化

#ifndef __UF__H__#define __UF__H__#include<cassert>//只记录id值,和哪个节点联通,效率最低class UF1{private: int *id; int count;public: UF1(int n){ count = n; id = new int[n]; for (size_t i = 0;...

2018-09-05 16:45:08 195

原创 【C++实现】第k大元素 时间复杂度为O(n),空间复杂度为O(1)

题目来源:Lintcode解题思路:二基准快速排序,在排序时判断每次找到的标记点下标 p 与 n-k 的大小,若小于n-k,则只需在p的右侧继续递归,若大于 p 则只需在p 的左侧递归,直至 p 与 n-k 相等vs可运行代码#include<ctime>#include<vector>#include<iostream>#include...

2018-08-21 22:25:52 1213

原创 【C++实现】LightHouse

灯塔(LightHouse)描述  海上有许多灯塔,为过路船只照明。  (图一)  如图一所示,每个灯塔都配有一盏探照灯,照亮其东北、西南两个对顶的直角区域。探照灯的功率之大,足以覆盖任何距离。灯塔本身是如此之小,可以假定它们不会彼此遮挡。  (图二)  若灯塔A、B均在对方的照亮范围内,则称它们能够照亮彼此。比如在图二的实例中,蓝、红灯塔可照亮彼此,蓝、绿灯塔则不...

2018-08-19 20:07:26 582

原创 【C++实现】归并排序 二分法查找

范围查询(Range)描述  数轴上有n个点,对于任一闭区间 [a, b],试计算落在其内的点数。输入  第一行包括两个整数:点的总数n,查询的次数m。  第二行包含n个数,为各个点的坐标。  以下m行,各包含两个整数:查询区间的左、右边界a和b。输出  对每次查询,输出落在闭区间[a, b]内点的个数。样例  输入5 31 3 7 9 114 6...

2018-08-17 09:06:44 367

原创 【C++实现】动态规划求解 LCS 最长公共子串问题

传统递归,时间复杂度O(2^n)本demo时间复杂度O(n*m)  空间复杂度O(n*m)#include<iostream>#include<vector>using namespace std;#define max2(a,b) ((a)>(b)?(a):(b))vector<vector<int>> dp;vector...

2018-08-16 00:12:21 541

原创 【C++实现】LFU缓存

 #include<iostream>#include<unordered_map>#include<algorithm>using namespace std;//调试用//void printList(int obj)//{// cout << obj << "\t";//}//void printFun(u...

2018-08-13 22:30:23 1331

原创 【opencv自学笔记】14:霍夫圆检测

霍夫圆检测边缘保留滤波——转灰度图——霍夫圆检测# -*- coding: utf-8 -*-"""霍夫圆检测边缘保留滤波————转灰度图————霍夫圆检测@author: LNP"""import cv2 as cvimport numpy as npdef detect_circle_demo(image): #hough圆检测对噪声敏感,必须滤波 b...

2018-08-11 17:24:38 1147

原创 【opencv自学笔记】13:霍夫直线检测

转换灰度图——边缘检测——霍夫线变换# -*- coding: utf-8 -*-"""霍夫直线检测转换灰度图,边缘检测,霍夫线变换@author: LNP"""import cv2 as cvimport numpy as np#标准霍夫线变换 贯穿非直线def line_detect_demo(image): copying=image.copy() ...

2018-08-11 16:31:33 311

原创 【opencv自学笔记】12下:边缘提取 cany

1、高斯模糊2、灰度转换3、计算梯度4、非最大信号抑制5、高低阈值输出二值图像# -*- coding: utf-8 -*-"""canny边缘提取1、高斯模糊2、灰度转换3、计算梯度4、非最大信号抑制5、高低阈值输出二值图像@author: LNP"""import cv2 as cvimport numpy as npdef edge_demo(imag...

2018-08-11 12:40:12 432

原创 【opencv自学笔记】12上:边缘提取 sobel laplace

# -*- coding: utf-8 -*-"""sobel 边缘提取 一阶导数拉普拉斯边缘提取 二阶导数@author: LNP"""import cv2 as cvimport numpy as np#拉普拉斯默认4卷积核def laplace_demo(image): lpls=cv.Laplacian(image,cv.CV_32F) dst=cv...

2018-08-11 11:59:25 357

原创 【opencv自学笔记】11:图像金字塔

 # -*- coding: utf-8 -*-"""Created on Sat Aug 11 10:43:03 2018高斯金字塔reduce=高斯模糊+降采样expend=扩大+卷积@author: LNP"""import cv2 as cv#高斯金字塔def guasian_pyramid_demo(image): level=3 tmp=im...

2018-08-11 11:21:50 149

原创 【opencv自学笔记】10下:超大图像二值化

先分块,在局部二值化# -*- coding: utf-8 -*-"""超大图像二值化图像ROI与空白图像过滤局部阈值图像二值化@author: LNP"""import cv2 as cvimport numpy as npdef big_image_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) ...

2018-08-11 10:36:53 295

原创 【opencv自学笔记】10上:图像二值化

 # -*- coding: utf-8 -*-"""二值化图像"""import cv2 as cvimport numpy as np#全局二值化def threshold_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) #cv.THRESH_OTSU OTSU算法自适应阈值 cv.TH...

2018-08-10 17:34:57 212

原创 【opencv自学笔记】09:模板匹配

找出模板图片所在的位置读入图片——模板匹配(三种方法)差值平方和匹配 CV_TM_SQDIFF 标准化差值平方和匹配 CV_TM_SQDIFF_NORMED 相关匹配 CV_TM_CCORR 标准相关匹配 CV_TM_CCORR_NORMED 相关匹配 CV_TM_CCOEFF 标准相关匹配 CV_TM_CCOEFF_NORMED"""模板匹配"""import cv2...

2018-08-09 21:33:55 207

原创 【opencv自学笔记】08下:图像直方图应用

直方图反向投影,物体追踪,找出种子图片色彩空间对应的物体读入图像——转HSV空间——计算sample直方图——归一化——计算反射投影import cv2 as cvfrom matplotlib import pyplot as pltimport numpy as np#直方图反向投影,物体追踪,找出种子图片色彩空间对应的物体#读入图像——转HSV空间——计算sample直方图...

2018-08-09 20:37:54 197

原创 【opencv自学笔记】08中:图像直方图应用

通过直方图比较图像相似度import cv2 as cvfrom matplotlib import pyplot as pltimport numpy as np#直方图均衡化 增强对比度def equalHist_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) cv.imshow('gray',gray...

2018-08-09 16:31:46 245

原创 【opencv自学笔记】08上:图像直方图

提取直方图#pip install matplotlibfrom matplotlib import pyplot as pltimport cv2 as cvdef plot_demo(image): plt.hist(image.ravel(),256,[0,256])#hist(src,bin,[,]) plt.show("直方图")def image_d...

2018-08-09 16:30:28 123

原创 【opencv自学笔记】07:边缘保留滤波EPF

两个APIbilateralFilter 双边滤波pyrMeanShiftFiltering 均值偏移滤波import cv2 as cvimport numpy as np#边缘保留滤波#高斯双边滤波 def bi_demo(image): dst=cv.bilateralFilter(image,0,100,30) cv.imshow('bi_demo'...

2018-08-09 12:23:24 582

原创 【opencv自学笔记】06:高斯模糊

加高斯噪声,高斯模糊import cv2 as cvimport numpy as np#计时,装饰器def decorate_time(func): def wrapper(src): t1=cv.getTickCount() func(src) t2=cv.getTickCount() print('time...

2018-08-09 11:13:39 210

原创 【opencv自学笔记】05:模糊操作

均值,中值,自定义模糊,锐化import cv2 as cvimport numpy as np#blur(src,卷积核) 均值模糊 适合消除随机噪声,领域内平均值def blur_demo(image): dst=cv.blur(image,(2,15)) cv.imshow("blur_demo",dst)#medianBlur(src,卷积核) 中值模糊 ...

2018-08-09 10:41:10 108

原创 【opencv自学笔记】04:ROI与泛洪填充

指颜色定区间内的像素填充floodFill(copying,mask,start_point,filled_color,lower,higth,cv.FLOODFILL_FIXED_RANGE)与二值图像的填充,只在mask填充floodFill(copying,mask,start_point,filled_color,cv.FLOODFILL_MASK_ONLY)import...

2018-08-09 10:01:59 201

原创 【opencv自学笔记】03:像素运算

加减乘除;逻辑与或非;求均值方差;图片融合改变对比度亮度import cv2 as cvimport numpy as npdef add_demo(src1,src2): dst=cv.add(src1,src2) cv.imshow('add',dst)def sub_demo(src1,src2): dst=cv.subtract(src1,src2)...

2018-08-08 15:27:14 149

原创 【opencv自学笔记】02:色彩空间

RGB转化灰度图,HSV,动态捕获特定颜色的物体import cv2 as cvimport numpy as np#颜色空间def color_space_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) yuv=cv.cvtColor(image,cv.COLOR_BGR2YUV) hsv=cv...

2018-08-08 15:26:58 169

原创 【opencv自学笔记】01:图像加载保存,numpy操作

获取图片信息,从视频保存图片,颜色反转(逻辑非),计时import cv2 as cvimport numpy as np#获取图像信息def get_image_info(image): print(type(image)) print(image.shape) print(image.size) print(image.dtype) pixe...

2018-08-08 15:26:43 669

原创 【python】入门笔记二 :基本函数运用

1def recursion(n): if n==1: return 1 else: return n+recursion(n-1)recursion(100) 2ch=0num=0space=0other=0def count(str): global ch,num,space,other for ...

2018-08-07 16:57:15 222

转载 问题解决:Spyder不支持OpenCV模块代码提示

 最近使用 Python(x,y)+Spyder 进行Python相关开发,在测试一些基本模块时出现了一点小问题,这里记录下一种解决方式。Spyder是一款面向科学计算的Python交互开发环境。集成了pyflakes、pylint和IPython等工具,具备编辑、调试、命令交互、在线帮助文档、代码分析等功能,是Python(x,y)发行版推荐使用的开发工具之一。在使用中遇到的问题是,Sp...

2018-08-05 17:50:29 768

原创 【python】入门笔记一 :基本语法

11a=input()b=[]for i in a: b.append(ord(i))print(b)2import matha=int(input('a:'))b=int(input('b:'))c=int(input('c:'))if a+b<=c or a+c<=b or b+c<=a : print('不是三角形')el...

2018-08-05 16:44:37 266

原创 【快速入门 C++ STL】 demo 演示九:二元谓词,二元函数对象,函数适配器

#include<vector>#include<iostream>#include<algorithm>#include<functional>using namespace std;template <typename T>class sum//二元函数对象{public: T operator()(T &...

2018-07-30 21:58:14 334 1

原创 【快速入门 C++ STL】 demo 演示八:map/multimap

#include<map>#include<string>#include<iostream>using namespace std;void printFun(map<int, string> &obj){ for (map<int, string>::iterator it = obj.begin(); it ...

2018-07-30 20:02:06 137

原创 【快速入门 C++ STL】 demo 演示七:set/multiset

#include<set>#include<iostream>#include<functional>#include<string>using namespace std;class student{public: student(int ID,string name) { this->ID = ID; this...

2018-07-30 17:11:51 305

原创 【快速入门 C++ STL】 demo 演示六:list

list双向列表不能随机访问#include<list>#include<iostream>using namespace std;void printFun(list<int> &obj){ for (list<int>::iterator it = obj.begin(); it != obj.end(); it++)...

2018-07-30 12:50:24 199

原创 【快速入门 C++ STL】 demo 演示五:queue

queue模型先进先出#include<queue>#include<iostream>using namespace std;int main(){ queue<int> s; for (size_t i = 0; i < 10; i++) { s.push(i); } while (!s.empty()) { int...

2018-07-30 12:24:11 141

原创 【快速入门 C++ STL】 demo 演示四:stack

stack模型先进后出#include<stack>#include<iostream>using namespace std;int main(){ stack<int> s; for (size_t i = 0; i < 10; i++) { s.push(i); } while (!s.empty()) { int...

2018-07-30 12:18:46 152

原创 【快速入门 C++ STL】 demo 演示三:deque

deque 结合了vector的全部功能和list的首尾插入删除功能/*********************//* demo deque *//*********************/#include<deque>#include<iostream>using namespace std;//遍历打印void printFun(de...

2018-07-30 11:58:16 127

原创 【快速入门 C++ STL】 demo 演示二:vector

/*********************//* demo vector *//*********************/#include<vector>#include<iostream>using namespace std;//遍历打印void printFun(vector<int> &obj){ for (...

2018-07-30 11:42:42 177

原创 【快速入门 C++ STL】 demo 演示一:string

/*********************//* demo string *//*********************/#define _SCL_SECURE_NO_WARNINGS #include<string>#include<iostream>#include<algorithm>using namespace std...

2018-07-30 10:46:03 163

原创 【C++实现】五大常用算法之二(上):BFS算法(实例:接金币)

小赛非常喜欢玩游戏,最近喜欢上了一个接金币的游戏。在游戏中,使用帽子左右移动接金币,金币接的越多越好,但是金币掉到地上就不能再接了。为了方便问题的描述,我们把电脑屏幕分成11格,帽子每次能左右移动一格。现在给电脑屏幕如图标上坐标:也就是说在游戏里,金币都掉落在0-10这11个位置。开始时帽子刚开始在5这个位置,因此在第一秒,帽子只能接到4,5,6这三个位置中其中一个位置上的金币。问小赛在游戏...

2018-07-21 17:12:53 1360

原创 【C++实现】五大常用算法之一:分治算法(实例:汉诺塔)

求解思想:大而化小1、问题拆分成子问题2、对子问题求解在汉诺塔游戏中,有三个分别命名为A、B、C得塔座,几个大小各不相同,从小到大一次编号得圆盘,每个原盘中间有一个小孔。最初,所有得圆盘都在A塔座上,其中最大得圆盘在最下面,然后是第二大,以此类推.先上代码#include<iostream>using namespace std;class Move{...

2018-07-20 20:40:59 3081

原创 A*寻路算法C++简单实现——修复bug版

参考文章:https://blog.csdn.net/u012234115/article/details/47152137https://www.cnblogs.com/zhoug2020/p/3468167.html代码主要参考第一篇,修复该篇博客算法里的小bug该篇博客主要存在两个bug(可以尝试把地图改成20*20,程序可能直接崩):1、Astar.cpp在判断周围8个...

2018-07-18 20:53:06 1126 2

空空如也

空空如也

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

TA关注的人

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