- 博客(27)
- 资源 (14)
- 收藏
- 关注
转载 课程笔记:二叉树遍历算法的应用
一、统计叶子节点数目1、根据遍历思想求解2按照先序变量的思想 也可以根据中序遍历和后序遍历的思想2、根据分治法求解:二叉树的度只能为2,1,0三种情况,度为0表示当前节点为叶子节点。分治的思想是分别统计出左孩子和右孩子叶子节点的数目然后相加代码实现:二、求二叉树的高度1、后序遍历求解主要思路就是分别遍历左右子树求出左子树和右子树的深度,然后返回...
2019-01-26 11:32:48 322
转载 课程笔记:二叉树的顺序存储结构和遍历算法
一、二叉树的顺序存储结构在存储二叉树之前要先给二叉树节点排号,排号方法是:根节点为1,左孩子节点为2i+1,右孩子节点为2i+1.创建存储空间的时候,空节点也是需要标注出来的,所以创建的存储空间大小为排号最大的节点数编号规则:顺序存储结构:对于完全二叉树或者满二叉树(满二叉树一定是完全二叉树),不存在空孩子刚好存满对于一般二叉树:对于单支二叉树:...
2019-01-26 11:14:25 3308
转载 直观理解PCA的大致过程
下午大致看了一下PCA的原理,方便日后能快速回忆,故写下此博客,如果有理解不对的地方还望海涵.问:PCA主成分分析用于干什么?答:1、用途:降维2、目的:提取最有价值的信息(基于方差),无监督的,基于数据的方差寻找方差最大的方向,数据的最大方差给出了数据的最重要的信息,方差大更有利于分类任务3、降维之后物理意义只有机器知道,但是不影响最后的分析结果,还可以有利于公开数据集源信息...
2019-01-23 17:31:57 1618
转载 二项分布、几何分布和泊松分布
连接的讲解的很容易让我理解参考链接:http://www.360doc.com/content/17/1231/22/9200790_718001949.shtml
2019-01-23 10:51:51 1550
转载 python 全局变量
1、首先看一下全局变量 sum 和函数中使用的sum,如下代码,发现两个输出sum 结果不一样sum = 0def printSum(a,b): sum = a+b return sumprint(printSum(1,2)) # 输出3print(sum) # 输出 02、下面看一下 sum 的 id 是否一样sum = 0print("全局变量sum:...
2019-01-20 15:50:36 215
转载 cv2.resize()和imutil.resize()
一、cv2.resize() import cv2img = cv2.imread("image1.png")print(img.shape)dst = cv2.resize(img,(img.shape[1]//2,img.shape[0]//2),interpolation=cv2.INTER_CUBIC)print(dst.shape)cv2.imshow("dst",dst...
2019-01-20 11:20:35 7408
转载 一个关于帧差法的追踪小项目
详情参考: http://python.jobbole.com/81593/# http://python.jobbole.com/81593/import argparseimport datetimeimport imutilsimport timeimport cv2ap = argparse.ArgumentParser()ap.add_argument("-v","...
2019-01-19 21:29:22 957
转载 形态学基本操作
一、腐蚀和膨胀1、腐蚀膨胀基本概念:跟卷积操作类似,假设有图像A和结构元素B,结构元素在图像A上移动,其中定义B的中心为锚点,计算B覆盖下A的最大值(膨胀)/最小值(腐蚀)的像素值用来替代锚点的像素,其中B可以是矩形,圆,椭圆等任意形状,需要注意腐蚀膨胀操作的图像只能是二值图下面由左图变到右图是膨胀,因为左图中的最大像素是白色,然后将白色像素值作为锚点的像素值下面由左图变到...
2019-01-19 10:34:41 2610
转载 轮廓和凸包
import cv2imagepath = "./hand.jpg"img = cv2.imread(imagepath)print(img.shape[:2])gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)ret,thresh = cv2.threshold(gray,235,255,cv2.THRESH_BINARY)# 注意,findCo...
2019-01-16 09:57:18 949
转载 python 写入csv文件空行处理
用python写入csv文件出现每写入一行出现空一行的现象,解决办法:设置newline = ' 'with open("roi_point.csv",'w',newline='') as write_csv:
2019-01-15 19:51:09 1462 1
转载 python-opencv的视频操作
参考:https://blog.csdn.net/qq_25436597/article/details/79621833
2019-01-15 15:16:31 306
转载 查找轮廓并绘制
import cv2img = cv2.imread("./image1.png")cv2.imshow("original",img)gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#先将灰度图变换成二值图像ret,binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)# cv2.findC...
2019-01-13 21:08:16 350
转载 帧间差和背景建模简单实现
1、帧间差法:基本思想:检测出相邻两帧图像中发生变化的区域。该方法是用图像序列连续两帧图像进行差分,然后二值化灰度图像来提取目标运动信息。import cv2def absdiff_demo(image1,image2,sThre): gray_image_1 = cv2.cvtColor(image1,cv2.COLOR_BGR2GRAY) gray_image_1 ...
2019-01-13 19:35:21 1824 1
转载 cv2.threshold()和cv2.VideoWriter()
cv2.threshold(src,thresh,255,cv2.THRESH_BINARY) src:需要处理的图像thresh:阈值255:表示大于阈值的像素值全部设为255最后一个表示划分类型,常用值为0(cv2.THRESH_BINARY)fourcc = cv2.VideoWriter_fourcc(*'XVID')out = cv2.VideoWrit...
2019-01-13 17:20:47 5838
原创 ubuntu下使用conda安装的opencv3无法读取视频
今天使用opencv读取视频发现无论如何,cap.isOpened()都返回false下面几个网址都有人在讨论这个问题,有的是使用别的工具去读取视频的参考1:https://github.com/scikit-video/scikit-video/issues/18参考2:https://github.com/ContinuumIO/anaconda-issues/issues/121...
2019-01-10 20:18:24 946 1
转载 Roberts、Prewitt、Sobel算子的理解
本来在图像处理中使用的是对二维图像的微分,因为存在x,y两个方向,需要分别对x,y两个方向分别求偏微分。但是对于数字图像来说,一般采用差分来近似一阶导数。参考连接:http://blog.sina.com.cn/s/blog_82a927880102vd9p.html ...
2019-01-06 10:48:19 4198
转载 blur和GaussianBlur
一、滤波原理简单介绍1、原理的简单描述 a)黄色的是掩模也就是算子,灰色的是原图。然后看一下像素操作过程:(黄色)算子的9个像素(包括中心红色那个)和(灰色)原图对应位置的像素相乘之和的平均值重新赋给原图中心红色那个像素的过程。 然后掩模按照设定的步长向后移动重复上述过程。b)会发现用3*3大小的掩模处理图像,原图边缘会有一个像素处理不了,如果用5*5大小的掩模处理图像,原图边缘...
2019-01-04 17:23:51 3647 1
转载 基本形状的绘制+放置文字+随机线条
一、基本形状的绘制基本形状主要包括画直线、矩形、椭圆、圆和多边形+文字.实现代码如下:#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;Mat bgImage;const char* drawdemo_win = "draw sha...
2019-01-04 16:00:58 592
转载 调整图像的亮度和对比度
简单原理:为输出图像,为输入图像。其中用于调节对比度,增益用于调节亮度实现代码:#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;int main(int argc, char** argv){ Mat src, dst; src = imread("1.jp...
2019-01-04 10:33:12 1662
转载 两幅图像的简单运算
两幅图像可以做运算,可以加减乘除和权重叠加操作,前提条件是两幅图像的大小类型都一致,实现代码也很简单,如下:#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat src...
2019-01-04 09:42:06 5028
转载 图像的反色操作
实现代码:#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat src, gray_src; src = imread("../../lena.jpg"); if ...
2019-01-03 21:30:39 4023 3
原创 Mat.ptr进行像素操作
下面主要通过使用Mat.ptr的两种像素操作方法和Mat.at()的像素操作方法的示例来说明时间的运行效率情况一、使用指针操作的方法在图像上画线#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;int main(int argc, c...
2019-01-03 11:32:19 4916
转载 矩阵掩模操作实现对比度增强
详情参考:https://blog.csdn.net/qq_25343557/article/details/78654011添加一个计算程序运行时间的代码double t = getTickCount();/* ... ... */double timeconsume = (getTickCount()-t)/getTickFrequency();print("Time con...
2019-01-02 21:26:52 393
转载 saturate_cast(),Scalar()的用法,Mat创建数组
一、saturate_cast的用法 saturate_cast<uchar>(-1)返回0;saturate_cast<uchar>(256)返回255;saturate_cast<uchar>(1)返回1;saturate_cast()函数的作用相当与labview中的判定范围并强制转换,上界为255,下界为0.二、 Scalar()...
2019-01-02 19:54:17 773
原创 荷兰国旗、快排、随机快排
一、荷兰国旗问题描述:给定一个数组和一个数num,将小于num的数放在数组的左边,大于num的数放在数组的右边组成一个新数组 解决方法:将数组分为三个区域,分别是less区域,等于num区域和more区域,然后从做到右遍历数组元素,大于num的数放到less区域,等于num区域的数不动,大于num的数放进more区域csdn富文本编辑区下面这块区域不知道怎么删掉[捂脸]...
2019-01-01 11:16:35 349
unix2dos-2.2-35.el6.x86_64.zip
2021-11-29
createrepo.tar.gz
2021-11-25
createrepo.tar.gz
2021-11-25
maven-pom-package.zip
2021-09-06
SecurCRT8.5安装教程
2020-10-17
The Fundamentals of Camera and Image Sensor Technology
2019-05-07
labview处理两个数组相关的数组
2018-12-31
机器视觉问与答,机器视觉入门资料(详细)
2018-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人