- 博客(23)
- 收藏
- 关注
原创 力扣第 370 题「 区间加法」 就直接考察了差分数组技巧
class Difference{public: int* diff; int* res; int _size; Difference(int nums[],int size); void decrease(int(&arr)[3]); int* result(); ~Difference();};Difference::Difference(int nums[], int size):_size(size){ if (_size< 0)return; diff=
2022-04-18 10:25:38
390
原创 Opencv实践项目之实时物体的测量——c++
全局变量Mat matrix;Point2f center;Mat frame;float scale = 0.25;bool flag = false;主函数int main(){ frame = imread("celiang.jpg"); resize(frame, frame, Size(0,0), scale, scale, INTER_LINEAR); imshow("original", frame); int thres[] = { 50,255 }; Mat .
2022-03-20 18:36:19
6330
6
原创 opencv实战项目之角度检测--c++
opencv中的鼠标操作是通过一个中介函数配合一个回调函数来实现的,回调函数SeMouseCallback(const string &winname,MouseCallback onMouse,void* userdata=0)中介函数void mousponts(int event, int x, int y, int flags, void* param);event是EVENT_+变量之一,x,y是鼠标指针再图像坐标系中的坐标,flags是EVENT_FLAG的组合,param是用户定义
2022-03-13 15:52:19
6425
原创 VS2015 c++生成类动态链接库
生成动态链接库后主要使用的是三个资源文件,分别为**.lib**,.dll和**.h**步骤如下 :1)、生成动态链接库点击生成,便会在该项目x64文件下生成如下六个文件,dll和lib便在此文件中.h文件在当前项目的ClassDll目录下2)、使用动态链接库生成一个空项目;需要对调用的项目进行属性配置1、 包含目录(存放的路径为.h文件所在的目录):D:\shanghai\dll封装\Classdll\Classdll2、 库目录(存放的路径为.lib文件所在的目录):D:
2021-10-12 12:22:43
685
1
原创 二叉树遍历——先序遍历
二叉树遍历——先序遍历遍历顺序如下图:依次遍历左孩子,到头了就转向右孩子#include<iostream>#include<stack>using namespace std;//排序二叉树有如下性质//若左子树不空,则左子树上所有结点的值均小于它的根结点的值;//若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;//左、右子树也分别为二叉排序树struct BT//定义一个BT结构的节点,每一个BT结构的节点都具有val值,和指向组偶有孩子的
2021-07-23 22:13:10
1369
原创 排序二叉树
排序二叉树有如下性质:1、若左子树不空,则左子树上所有结点的值均小于它的根结点的值;2、若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;3、左、右子树也分别为二叉排序树struct BT//表示结点,定义一个结构名为BT,每个结点为BT类型,具有三个属性{ int val;//当前节点的值 BT* left;//定义一个名为left的指针,指向BT类型的结点 BT* right;//定义一个名为right的指针,指向BT类型的结点 };struct Tree//定义一个
2021-07-22 20:45:04
122
原创 关于引用&,指针*和const
一、引用引用就是给对象起了另一个名字,引用必须初始化,且只能绑定在对象上,且一旦初始化以后无法绑定到另一个对象上(专一)。引用本身不是一个 对象,故不能定义引用的引用int a=1;int & val_1==&a; //正确int & val_2; //错误,一定要初始化double &val_3=&a; //错误,类型一定要统一int & val_4=1; //错误,不能绑定一个字面值二、指针指针与引用类似,但又有许多不同点:其一,
2021-07-06 15:38:00
122
原创 自定义函数进行无序向量唯一化
#include<iostream>#include<vector>#include<algorithm>#include<cmath>using namespace std;//自定义find函数int find(vector<int>&a, int &b, int lo, int hi){ while ((lo < hi--) && b != a[hi]);//从后向前依次比较 retur
2021-07-01 10:55:21
171
原创 无序向量与有序向量的唯一化
无序向量与有序向量的唯一化问题#include<iostream>#include<vector>#include<algorithm>#include<cmath>using namespace std;int unequual_wuxi(int a[]){ int oldsize =11; vector<int>b; for (size_t i = 0; i < oldsize; i++) b.push_back
2021-06-30 10:07:58
345
原创 起泡排序算法详解
以下是起泡排序的三种实现形式,效率依次递增#include<iostream>#include<vector>using namespace std;void swap(int *a, int*b){ int temp; temp = *a; *a = *b; *b = temp;}void bubble_1(vector<int>&vc, int n){ for (int i = n - 1; i > 0; i--) for
2021-06-29 10:24:23
1005
原创 2021-06-28
归并排序详解算法流程(以数组a[] = { 4, 2, 9,13}为例):注意在合并排序过程中指针A不delete,所以在上一次合并中产生的A会被保留用于下一次的合并排序使用附上代码#include<iostream>using namespace std;void merge(int a[], int, int, int);void merge_sort(int a[], int, int);int main(){ int a[] = { 4, 2, 9,13}; in
2021-06-28 09:28:12
108
原创 采用极限约束的对应圆检测
在进行图像预处理之后可得到左右图所有圆的圆心以vector的格式储存由相机标定可得,左右相机的内参矩阵,R,t向量,此时得到的是旋转向量,需要转化为旋转矩阵,采用罗德里格斯公式可由R,t矩阵求得本质矩阵和基础矩阵其中需要获得t的反对称矩阵t_x。Mat R = (Mat_<double>(3, 1) << 0.001903323, 0.614913706, -0.004505512); //旋转向量Mat R_matrix(3, 3, CV_8UC1);//旋转矩阵Ro
2021-06-08 11:15:29
154
原创 关于vector的小tips
近期关于vector的size困扰了我,写个小笔记int main(){vectorA(5);.//A的大小为5vectora(3);a = { 3,8,5};for (int i=0;i<a.size();i++)**//**当i<A.size()时会报错,因为a[i]不能等于一个不存在的数A[i] = a[i];for (int i = 0; i<A.capacity(); i++)cout << A[i] << endl;return 0;
2021-05-31 10:20:06
114
原创 c++ prime string例题
题目:已知有如下 string 对象:string line1 = “We were her pride of 10 she named us:”;string line2 = “Benjamin, Phoenix, the Prodigal”string line3 = “and perspicacious pacific Suzanne”;string sentence = line1 + ’ ’ + line2 + ’ ’ +line3;编写程序计算 sentence 中有多少个单词,并指出
2021-04-23 10:36:02
161
原创 特征匹配和目标识别
#include <opencv2/opencv.hpp>#include #include <opencv2/features2d.hpp>using namespace std;using namespace cv;Mat g_src1, g_src2;char input_win[] = “input image”;int minHessian = 400;//定义最小海森矩阵int main(){g_src1 = imread(“D:/opencv练习/p
2021-03-09 18:48:15
357
原创 轮廓查找及各种边界框绘制
#include <opencv2/opencv.hpp>#include using namespace std;using namespace cv;Mat src, src_gray, src_threshold, drawing;RNG rng(12345);Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));int main(){src = imrea
2021-02-25 13:46:38
269
原创 直方图反向投影
#include <opencv2/opencv.hpp>#include using namespace std;using namespace cv;Mat src, src_gray, hsv, hue;int bins = 12;void Backprojection(int,void*);int main(){src = imread(“D:/opencv练习/picture/33.jpg”);if (!src.data){cout << “图片没有
2021-02-23 13:52:11
99
原创 利用fillPoly绘制多边形并对其填充
#include <opencv2/opencv.hpp>#include using namespace std;using namespace cv;int main(){Mat src = imread(“D:/opencv练习/picture/beauty_1.jpg”);if (src.empty()){cout << “图片导入失败” << endl;return -1;}namedWindow(“原图”);imshow(“原图”,
2021-02-12 20:22:32
658
原创 学习opencv3第六章练习1,练习2——RNG随机数生成器
#include <opencv2/opencv.hpp>#include using namespace std;using namespace cv;int main(){RNG rng;int a = rng.uniform((float)0.0,(float)1.0);cout << a <<"\n"<< a<< “\n” << a<<endl;Vec3d vec3d;rng.fill(vec3d
2021-02-08 15:35:49
166
转载 用SVD一步步了解PCA
这个视频非常详细https://www.bilibili.com/video/BV1C7411A7bj
2021-02-08 14:32:48
120
原创 学习opencv3第五章练习6——分离图像
1.找到并显示绿图2.克隆这个绿图3.找出这个绿平面的最小值的最大值4.将clone1的所以元素赋值为tresh = (uchar)((最大值- 最小值) / 2.0);5.将clone2所有元素赋值为0,然后用compare(green_image,clone1,clone2,CMP_GE)。现在clone2为标识绿图中值超过thresh的掩码图像图像6.最后,使用subtract(greenImg, tresh / 2, greenImg, clone2)并显示结果#include <
2021-02-05 19:33:08
194
原创 学习opencv3第五章练习4——使用ROI建立一个增长如金字塔状的矩形
这里写自定义目加粗样式录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使
2021-02-05 15:38:58
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人