自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用数据结构及其模板

最近为了面试,在自写一些常用数据结构。目前打算写的包括BST,list,string,heap,并查集,Trie树。string类模板#include<iostream>#include<ostream>#pragma warning disable:4996using namespace std;class mystring {private: char* data; int size;public: mystring() { data = new c

2020-07-24 16:21:38 517

原创 测量函数部分记录

测量函数版本1没有加入基准测量的版本//输出测量结果void MainWindow::on_ButtonOutPutRes_clicked(){ //采用读取照片的处理方式 CurImgMat=imread("test.bmp",IMREAD_GRAYSCALE);//读取照片 //如果不采用照片读取的话这里直接对CurImgMat进行处理即可 medianBlur(CurImgMat, CurImgMat, 7); vector<Point2f>

2020-06-05 21:31:34 288

原创 leetcode189周赛

计数class Solution {public: int busyStudent(vector<int>& startTime, vector<int>& endTime, int queryTime) { int n=startTime.size(); int ans=0; for(int i=0;i<n;i++){ if(queryTime>=startTime[i

2020-05-17 11:53:45 289

原创 leetcode 560. 和为K的子数组-two sum变形

题目思路这题一开始思考的是之前的数的划分,划分为2个子集和为k。然后就去复习了一下dp里面的背包问题。因为背包问题就是解决subsetsum的。然后再看了一下,是连续的,那么可能不是背包问题,因为subsetsum是可以隔开的。继续思考,如果使用暴力法,那么就类似于最大回文子串,我照着写了一下,发现复杂度接近On3.并且在写的过程中,反应过来可以用前缀和presum。但是使用了前缀和后,结果仍然为On2的复杂度,仍然很高。继续观察发现,在求前缀和过程中,每次求出当前前缀和,想要求区间[i,j]的

2020-05-15 09:20:23 282

原创 regex:正则匹配

字符串分割getline(sstream,string,‘ch’);相当于python的split方法#include<iostream>#include<vector>#include<string>#include<sstream>using namespace std;int main() { vector<string> strs; stringstream ss("134,45,56"); string s; s

2020-05-13 19:46:53 356

原创 leetcode 38. 外观数列 遍历末尾元素的特殊处理

总结总体是模拟的思路,需要特殊处理进入判断时候j==0的情况。另外还要特殊处理结尾j == size-1的情况。 这两种特殊情况的处理,分别用if写在开始和结尾,开始的使用continue,结尾的直接进行特判。整体逻辑比较清晰,最大的减少对中间代码的干扰。代码class Solution {public: string countAndSay(int n) { v...

2020-04-16 16:34:39 286

原创 leetcode 22. 括号生成

dfsclass Solution {public: void dfs(string cur,int leftnum,int rightnum,int n,vector<string>& ans){ if(leftnum>n||rightnum>n)return; if(leftnum<rightnum)retur...

2020-04-16 12:09:53 161

原创 leetcode 72 编辑距离:另一种dp table的查找方式

思路定义dp[i][j]为word1的前i个字符和word2的前j个字符相同需要的最少操作也就是说在递归的时候是从后面往前面递归的。为什么会这么想首先,转移方程是好写的。但是实现的过程是需要细节的。首先是basecase。经过了股票问题的思考后。在这里,当i<0或者j<0的情况,很容易返回另一个的对应情况。这个没什么好说的。关键是构建一个能够查找结果的表。我的创新这里使用...

2020-04-15 12:51:59 287

原创 leetcode股票问题dp汇总

股票问题dp1状态设定定义dp[i][k][j]为第i天(从0~n-1),当前最多买入k次,j为0或1,表示当前是否持有股票。2 递推关系dp[i][k][0] = max(dp[i-1][k][0], dp[i-1][k][1] + prices[i]) max( 选择 rest , 选择 sell )解释:今天我没有持...

2020-04-14 12:30:02 245

原创 leetcode10+leetcode 44 正则匹配题型总结

正则匹配题型总结这两道题目其实都是属于匹配类型的题目,都有一个‘*’表示可以任意匹配多个字符,而都有一个’.‘表示可以匹配单个字符。比较好想的递归思路:递归思路主要有2种,一种是从前向后匹配,一种是从后往前匹配。多数时候两种都可以,我这里主要用的是从前向后匹配,所以我定义的dp[i][j]为s的第i个字符之后和p的第j个字符之后可以互相匹配上的概率。这样的话逻辑就比较清晰了,初始化dp[i...

2020-04-06 21:53:03 230

原创 dfs搜索框架整理

在对dfs的搜索框架进行debug的时候,发现每次出现的错误总是很类似的,这里对其进行整理一下。总体思想:dfs的时候,已进入函数体,有2种情况:1 一种是当前已经包含了当前搜索的点,这个时候不需要在函数内部进行标记,只要在遍历的时候进行标记即可。2 另外一种情况是当前还没有访问当前搜索的点,那么这个时候就要先判断是否越界,然后访问当前的点,并且进行标记,然后再进行结果剪枝,再进行搜索。...

2020-03-31 12:59:51 196

原创 leetcode 108 递归-二分 有序数组转换为二叉搜索树

leetcode 108/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} ...

2020-03-12 23:35:56 151

原创 dijkstra+dfs PAT A1030

dijkstra+dfsdfs(v)表示以v为输入的终点进行搜索到s#include<iostream>#include<vector>using namespace std;const int MAXV = 1005;const int INF = 1e9;int G[MAXV][MAXV];//graphint costGraph[MAXV][MAXV]...

2020-03-12 16:11:00 168

原创 leetcode113

路径综合2/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; *...

2020-03-08 22:52:55 160

原创 重建二叉树

前序+中序leetcode105/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) ...

2020-03-08 15:20:47 155

原创 二叉树非递归遍历

总结框架大体相同,不同在于访问就是将数值加到vector res中。另外,访问的时机在退栈之前和退栈之后,栈的作用就是把迭代的路线记录下来。前序遍历class Solution {public: vector<int> res; vector<int> preorderTraversal(TreeNode* root) { stac...

2020-03-08 09:35:01 141

原创 C语言文件IO操作

总结从string得到char*可以通过.data()或者通过.c_str()来得到,前者不会多添加"\0",后者会添加"\0";C默认的文件指针是FILE* fp=fopen(FILENAME,MODE);double对应的读取格式为%lffun.h#ifndef FUN_H#include<iostream>#include<fstream>#inclu...

2020-02-15 20:42:02 357

原创 给定若干点进行线性差值Matlab代码

给定若干一维点,进行线性差值,增加了正太噪声Matlab代码%% 初始数据准备% 原始数据x=[-60 -22 -6 0 11 15 70];y=[0 0.43 1.6 1.89 1.65 0.64 0];[~,num]=size(x);% 获取数据量% 对x和y进行分段并且对应xx=[];yy=[];NumPts=150;for i=1:(num-1) newro...

2020-02-15 14:44:47 802

原创 结构光:LaserPlane类

plane.h#ifndef PLANE_H#define PLANE_H#include <opencv2\imgproc.hpp>#include <opencv2\calib3d.hpp>#include <opencv2\highgui.hpp>#include<iostream>#include <vector&g...

2020-01-08 15:42:36 350

原创 结构光:C++Mat类的txt自定义读写

MatIO.h#ifndef _MATIO#define _MATIO#include <opencv2\imgproc.hpp>#include <opencv2\calib3d.hpp>#include <opencv2\highgui.hpp>#include <iostream>#include <fstream>...

2020-01-04 17:06:35 448

原创 结构光:PointsToWorld投影

matlab PointsToWorld代码基于方程求解德方法function [WorldCoordinate,Totalerror]= HMatrixPointsToWorld2( M,R,t,ImgPointSet )% ImgPointSet应该为列向量[x,y]坐标[NumOfPt,~]=size(ImgPointSet);%得到有多少点对WorldCoordinate=zer...

2020-01-04 08:23:02 896

原创 结构光:图像预处理部分——灰度+连通域面积滤波

ImgProFun.h#ifndef _IMGPROFUN#define _IMGPROFUN#include<opencv\cv.hpp>#include<opencv\highgui.h>#include<opencv2\imgproc.hpp>#include<vector>using namespace cv;// ***...

2020-01-02 10:24:15 1648 1

原创 结构光:光条中心线提取-Steger算法(基于Hessian矩阵)

光条中心线提取-Steger算法(基于Hessian矩阵)参考以下博客进行了修改,修改了灰度阈值以及最后标注红线的部分。https://blog.csdn.net/dangkie/article/details/78996761#commentsvoid StegerLine(){ Mat img0 = imread("D:\\结构光实验数据\\2019-11-20\\1_nl.bmp",...

2020-01-02 09:53:09 4759 1

原创 STL编程与lambda表达式

2019-12-31 10:07:33 203

原创 qt项目:大恒相机实时采集,单帧采集,并且在屏幕上显示,含有保存bmp图片功能

软件框架ui界面框架.pro文件#-------------------------------------------------## Project created by QtCreator 2019-12-20T09:41:39##-------------------------------------------------QT += core guiQ...

2019-12-29 16:09:24 8458 82

原创 Qt界面开发问题汇总(1):qt调用大恒相机接口保存.bmp文件报错

问题1:qt调用大恒相机接口保存.bmp文件报错过程:在使用大恒相机的接口进行保存.bmp文件的过程中,发现调用windows的Createfile函数会出现乱码的情况,一开始查找原因,发现是string和CString的不同,后来由于Qt编译CString的头文件include<atlstr.h>的时候会报错,因此去深入阅读了源码。发现他们使用CString的格式,最终是为了调...

2019-12-29 11:06:53 1247

原创 Qt界面开发问题汇总(2):CV Mat格式转换为qpixmap,直接setpixmap只能显示图片的部分区域

问题2:CV Mat格式转换为qpixmap,直接setpixmap只能显示图片的部分区域过程:如果是普通的图片,直接qpixmap.load,然后再label里面进行setpixmap(),然后选择scalecontents(true)就能实现完整的显示了。但是在我的项目的场景下,我需要将cvMat转换为QImage,然后再转换为Qpixmap,这个时候,如果直接setpixmap会发现只...

2019-12-29 11:04:42 2042 1

原创 qt入门(8):信号与槽机制connect,两个窗口之间的通信

目录1 基本思路2 代码基本思路要实现两个完全不同的窗口之间的通信,使用信号和槽的功能。首先添加类别中选择“QT”,然后可以添加一个ui类,这样就可以添加第二个窗口,并且使用UI进行设计。然后关键就是实现两个窗口之间的通信,首先是发出信号。很简单,在类中使用signals:的前缀声明,然后分别添加void信号,根据需求可以使用有参数的信号和没有参数的信号。下面是两个.h文件中的信号si...

2019-12-22 18:59:29 5995 1

原创 qt入门(7):在界面子窗口中画折线图

目录Qchart模块1 使用Qchart在子窗口中画图2 参考资料3 代码Qcustomplot模块1 用Qcustomplot模块在子窗口中画图2 参考资料3 代码Qchart模块该部分可参考下面的博主https://blog.csdn.net/baizy77/article/details/84107786参考该资料,总结流程如下:1 准备工作需要在安装qt时带上了...

2019-12-22 10:22:33 3516

原创 大恒相机使用opencv的回调采集与连续采集

代码使用了回调采集,在while(1){}循环时,控制台窗口会不断的输出图像的尺寸,说明是已经采集到了图像了。#include<iostream>#include<tchar.h>//请用户提前配置好工程头文件目录,需要包含GalaxyIncludes.h#include"GalaxyIncludes.h"#include<opencv2\core.hp...

2019-12-19 09:45:31 4984 2

原创 大恒相机使用opencv的单帧采集与数据转换

使用大恒sdk黑白相机结合opencv的图像采集关键是实现大恒的数据到opencv里面的Mat矩阵的数据转换。下面是关键代码Mat curr(objImageDataPointer->GetHeight(), objImageDataPointer->GetWidth(), CV_8UC1);void* pRaw8Buffer = NULL;pRaw8Buffer = obj...

2019-12-18 20:12:43 2265 1

原创 qt入门(6):qtcreator中大恒相机sdk使用与普通库文件添加

目录1 大恒sdk在VS下环境配置(参考大恒自带的C++开发说明)2 大恒sdk在qtcreator下的环境配置3 代码1 大恒sdk在VS下环境配置在解决方案资源管理窗口中选中用户创建的工程,然后点击菜单中的project->properties弹出Property page窗口。选择Configuration Properties->C/C++ ->General...

2019-12-17 22:39:06 4970 5

原创 vs下配opencv环境与qt下配opencv环境总结

2019-12-17 11:35:56 259

原创 qt入门(5):qt中图像format与opencv中mat格式转换关系

参考资料1 主要说明相关格式之间的关系转自:http://blog.sina.com.cn/s/blog_8b97b05e0101drxj.html[转]Qt中QImage与OpenCV中Mat相互转换 (2013-12-20 13:13:20)转载▼1.Mat to QImageQImage mat2qimage(const cv::Mat& mat){cv::Mat rgb...

2019-12-16 16:57:25 1667

原创 qt入门(4):按钮触发读取输入路径图片数据并在窗口中展示demo

QT+OPENCV简单demo目录1 demo功能简介2 实现过程的难点和要注意的地方··2.1 制作的UI界面··2.2 代码实现··2.3 库的添加··2.4 自定义函数方法多文件编译3 代码1 demo功能简介制作一个简易的界面软件,人为输入一个路径(如D:\qq.jpg),按下按钮后,通过opencv函数读取图片数据,然后在软件窗口中进行展示演示效果如下,可以看到,在...

2019-12-16 16:30:28 3109 1

原创 qt入门(3)qtcreator下不使用cmake的opencv环境配置

QTcreator+opencv在网上看了很多的qtcreator中加载opencv的方法,大多数是使用cmake的,但是这十分麻烦。我查找了一下,选择了不用cmake的方法,适合于大多数不需要使用很复杂的功能的人。参考视频:https://www.youtube.com/watch?v=fYBdwGpHQGw文字参考网站:(可在百度搜索“如何在qt中添加第三方库”)https://bl...

2019-12-13 20:02:00 2157 2

原创 qt入门(2):lambda表达式,qtcreator的使用,qt软件的打包发布

目录1 带参数的信号2 lambda表达式1 带参数的信号带参数的信号可以使用如下方式进行发射emit mysignal();emit mysignal(int ,Qstring);//信号的重载发射了之后,在主函数中进行接收,接受的时候需要进行识别(由于产生了信号的重载),因此需要使用到函数指针,以void mysignal()为例子,它的函数指针为void (类名::*p)()...

2019-12-10 10:58:48 183

原创 Qt入门(1):创建窗口和按钮

目录1 建立主窗口widget2 在窗口中建立button3 对button对象添加父类和子类设置(分别通过对象成员函数以及构造函数)4 对button使用信号和槽的概念,了解connet的机制1,2,3subwidget.h#ifndef SUBWIDGET_H#define SUBWIDGET_H#include <QWidget>#include<qp...

2019-12-09 22:44:15 676

原创 matlab 图像处理尝试

matlab 图像处理尝试目录1 对图像进行二值化处理以及高斯滤波2 对图像进行连通域面积统计,去除面积不足的区域3 图像腐蚀膨胀基本概念,图像开运算、闭运算基本概念。图像开运算闭运算和腐蚀膨胀的关系。matlab代码%% 对要测量的物体进行测量与处理% 1、提取测量物体条纹中心线的图像坐标[uccd vccd 1]'% 2、对提取到的图像坐标,利用内参矩阵M,从相机坐标系{C}的...

2019-11-15 17:00:08 354

原创 经典组合型dfs:P1025 数的划分——组合型剪枝dfs与经典的划分型动态规划

P1025 数的划分输入输出样例输入 #1复制7 3输出 #1复制4dfs代码#include<iostream>#include<algorithm>using namespace std;int n, k;int cnt = 0;void dfs(int last,int sum,int cur) { if (cur == k) {//c...

2019-11-14 10:44:27 229

空空如也

空空如也

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

TA关注的人

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