![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
suxuyu01
蒟蒻
展开
-
OpenCV学习笔记 imgproc库2.膨胀、腐蚀与基于他俩的形态学操作
文章目录使用的示例图像使用的kernel基本操作膨胀示例程序输出图像腐蚀示例程序输出图像形态学操作开操作 open示例程序输出图像闭操作 close示例程序输出图像顶帽 tophat示例程序输出图像黑帽 blackhat示例程序输出图像形态学梯度 gradient示例程序输出图像使用的示例图像使用的kernelkernel = getStructuringElement(CV_SHAPE_RECT, Size(11, 11), Point(-1, -1));基本操作膨胀和腐蚀的主语都是亮区膨原创 2020-10-27 23:30:45 · 244 阅读 · 1 评论 -
OpenCV学习笔记 imgproc库1.线性滤波
使用参考该博客 三.浅出 部分原创 2020-10-07 22:26:46 · 91 阅读 · 0 评论 -
OpenCV学习笔记 core库6.对图像通道、对比度和亮度的操作
颜色通道的分离与合并分离颜色通道 split()函数原型//该函数有两个原型void split(const Mat& src, Mat *mvbegin);void split(InputArray m, OutputArrayOfArrays mv);第一个参数是我们需要进行分离的多通道数组第二个参数是函数的输出数组或输出的vector容器示例程序vector<Mat> channels;Mat imgBluChannel;Mat imgGreChannel;原创 2020-09-28 23:32:56 · 129 阅读 · 0 评论 -
51单片机学习笔记 总结
今天上午开了个会结果一个学姐讲51 一上午讲完了好几个模块- -更重要的是学习到了学习硬件方面的方法学各个模块其实也没什么好记录了,注意看硬件原理和接线,参照原理图来看就可以了所以这部分不再写了,遇到不一样的东西再更新...原创 2020-09-26 21:40:42 · 250 阅读 · 0 评论 -
OpenCV学习笔记 core库5.设置ROI及图像混合操作
定义方式1.RectMat imageROI;imageROI = image(Rect(500, 250, ROI_COLS, ROI_ROWS));2.Range()imageROI = image(Range(250, 250+ROI_ROWS), Range(250, 250+ROI_COLS));使用: 进行图像混合原创 2020-09-26 17:32:33 · 210 阅读 · 0 评论 -
OpenCV学习笔记 core库4.访问图像像素
访问图像像素的目的主要是对其进行操作以实现加速图像处理算法等目的。简述一下要用到的图像存储相关内容图像的存储使用矩阵,对于多通道图像,矩阵中的列会包含多个子列,故图像的行数即为矩阵的行数,图像的列数=矩阵的列数*通道数。访问方式1.指针主要用到的内容int rowNumber = tempImg.rows; //获取行数int colNumber = tempImg.cols*tempImg.channels(); //获取列数unsigned char* data = temp原创 2020-09-26 17:08:56 · 91 阅读 · 0 评论 -
51单片机学习笔记2.动态数码管的使用
原理图内容74HC138译码器输出端Y0-Y7(单片机原理图中的LED1-LED8)受控于三个输入端A0~A2(P22 P23 P24)A0 A1 A2相当于表示了一个三位二进制数,A0是最低位,A2是最高位,且对应的YA2A1A0Y_{A_2A_1A_0}YA2A1A0呈现低电平(有效电平)数码管公共端 -> 位选线连在一起的段线 -> 段选线通过控制在不同位选线 不同的段选线通电(段选数据不同)以达到在不同位置显示不同数字的目的具体看单片机原理图即可动原创 2020-09-25 18:18:52 · 513 阅读 · 0 评论 -
51单片机学习笔记1.流水灯实现与蜂鸣器
原理图(此次用到的部分)代码#include <reg52.h>void delay(unsigned int k){ int i,j; while(k--) { for(i = 1000;i>0;--i) for(j = 110;j>0;--j); }}void main(){ unsigned char i = 0; P2 = ~0x01; while(1) { if(i==7) i=0; else i+=1;原创 2020-09-25 00:05:31 · 1759 阅读 · 0 评论 -
OpenCV学习笔记 core库3.应用:绘制基本图形与文字
#define WINDOW_WIDHT VALUE //将VALUE改为想要的正整数值Ellipse 椭圆void DrawEllipse(Mat img, double angle){ int thickness = 2; int lineType = 8; //调用OpenCV提供的ellipse()函数进行绘制 ellipse( img, //画到的目标图像 Point(WINDOW_WIDTH/2, WINDOW_WIDHT/2 ), //中心点 Size(W原创 2020-09-23 23:56:14 · 146 阅读 · 0 评论 -
OpenCV学习笔记 core库2.其他常用数据结构
Point类 点表示二维坐标系下的点定义方法Point point;point.x=10;point.y=8;//或Point point = Point(10, 8);且OpenCV中有typedef Point_<int> Point2i;typedef Point2i Point;typedef Point_<float> Point2f;Scalar类 颜色表示有四个元素的数组,可用于传递像素值如果用不到第四个参数,则不需要写出来,只写三个参数就原创 2020-09-23 22:48:44 · 114 阅读 · 0 评论 -
OpenCV学习笔记 core库1.Mat类的使用
一.原理Mat类由两个数据部分,矩阵头和一个指向存储所有像素值的矩阵(根据所选存储方法不同,维数可以不同)的指针。①数据部分矩阵头包含矩阵尺寸、存储方法、存储地址等信息指针②成员函数二.使用不必太过考虑内存分配/释放问题①复制不同的Mat对象共享一个矩阵Mat A,C;A = imread("test.png");Mat B(A); //方式1C=A; //方式2//引用部分内容,创建一个ROIMat D(A, Rect(10,10,100,100)原创 2020-09-22 23:29:32 · 210 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库3.鼠标操作
setMouseCallback原创 2020-09-17 23:43:24 · 103 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库2.滑动条(Trackbar)
用途用于动态调节参数,依附于窗口存在使用①createTrackbar()int createTrackbar(const string &trackbarname, const string &winname, int* value, int count, TrackbarCallback onChange=0, void* userdata=0);trackbarname 指定滑动条的名字winname 指定滑动条所依附的窗口的名字value 表示创建滑动条时滑块的初始位原创 2020-09-15 23:27:38 · 142 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库1.图像与视频的载入、显示和输出到文件
头文件相关#include opencv2/opencv.hpp 可包含所有可能用到的OpenCV函数等,但会延长编译时间从文件、视频和摄像头读入图像的函数包含在highgui内OpenCV使用的命名空间cv具体使用的部分Mat类型用于保存图像以及其他矩阵数据的数据结构此处不作详解namedWindow()void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE ); 用于创建一个窗口第一个参数为窗原创 2020-09-04 19:05:01 · 324 阅读 · 0 评论 -
Day4 上午 数论
写这点东西就用了两个小时,数论真的……零零碎碎的知识点:同余运算的性质 模运算 逆元(数论倒数) 1.(a/b)mod p≠((a mod p) / (b mod p))mod p 2. gcd(a,b)=gcd(a-b,b)=gcd(a%b,b)=…… 2. 裴蜀定理 :当且仅当m是gcd(a,b)的倍数时,方程ax+by=m有整数解 3. 逆元(数论倒数):...原创 2018-02-11 20:39:29 · 176 阅读 · 0 评论 -
挖坑 Day4 下午 字符串
1.KMP2.字符串Hash//相见恨晚3.回文串4.Tries原创 2018-02-11 20:43:12 · 151 阅读 · 0 评论 -
挖坑 Day3 基本数据结构
1.二叉搜索树*2.二叉堆3.ST表(dp、倍增思想)预处理复杂度O(n log n) 单词查询复杂度O(1) 预处理两个部分 1.区间最大值 2.⌊ log2ilog2i\log_2 i ⌋ i∈[1,n]#include <iostream>#include <cstdio>#define For(i,l,r) for(int i=l;...原创 2018-02-11 20:48:16 · 158 阅读 · 0 评论 -
最短路复习(Floyd与Dijkstra)
理论上来说,现在只会SPFA基本上就够NOIp用了,但是还是忍不住重新复习了一下。。。Dijkstra算法该算法仅用于无负权边的图,在稠密图(边数m接近于n^2的图,网格图就是一种非常稠密的图,相对的,稀疏图就是m远小于n^2的图)中的表现比较优秀,可以用邻接表也可以用邻接矩阵。算法主体 算法也不算难,核心就是松弛操作,朴素的Dijkstra算法的时间复杂度为O(n^2) ...原创 2018-04-15 00:16:40 · 134 阅读 · 0 评论 -
Day 2 下 数论部分(undone)
素数判定一般从2判到sqrt(n)就够用了 还有一个miller-rabin题目 NOIP2012 质因数分解 素数筛法 O(n log n) 筛到素数后标记其倍数,因为会重复所以是O(n log n) 线性筛for(int i=2;i&amp;amp;amp;amp;amp;lt;=n;++i) { if(!vis[i])pr[++num]=i; ...原创 2018-07-16 20:12:03 · 173 阅读 · 0 评论 -
Day3 数据结构
栈和队列单调栈、单调队列//P1886#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;cstdio&gt;#include &lt;algorithm&gt;#include &lt;cmath&gt;#define For(i,l,r) for(in原创 2018-07-19 19:40:56 · 135 阅读 · 0 评论 -
temp-图论
割点、桥、强连通分量 tarjan,求法很类似 bzojxxxx 二进制 1号点连接从1号店可达的二进制第k位为0的点 1‘点连接从1号点可达的二进制第k位为1的点 求一下1到1’的最短路即可 这样保证了点不相同 hdu4857 toposort + 优先队列 最小生成树计数 Kruskal+乘法原理 加入权值相同的边之后并查集的形态是相同...原创 2018-07-20 18:58:28 · 111 阅读 · 0 评论 -
主席树学习笔记
终于了解了最简单主席树- - 写代码犯了很SB的错误,调了半小时才看出来,难受我学到的主席树是个支持查询历史版本的权值线段树 如何支持查询历史版本呢? 很容易想到每次更新的时候建一颗新的线段树 但显然空间爆炸 所以我们只需要新开那些需要更新的节点,不需要更新的节点直接拉到上一个版本...原创 2018-08-12 18:53:59 · 180 阅读 · 1 评论 -
树链剖分学习笔记
写代码又犯了很sb的错误,线段树写错了。。。 好像每次都会把r-l+1写成l-r+1,然后就只有20分。。。 代码写的比较丑,压了压之后190行。。。 基本上是我打过的最长的一个模板了 然后简单介绍一下树剖吧。。。树链剖分,就是把树剖分成链,然后用数据结构来维护这些链,使得询问、修改的复杂度达到O(logn)O(logn)O( log n)(不会证明。。。) 几个定义:重儿...原创 2018-08-23 16:22:49 · 120 阅读 · 0 评论