- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 基于距离变换和分水岭算法的图像分割
原理代码#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;double maxVal, minVal;int main(void){ Mat src = imread("../res/cards.png&
2019-01-31 16:54:58 812 2
原创 检测点是否在轮廓、多边形的内部
OpenCV官网代码#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(void){ const int r=100; Mat src = Mat::zeros(Size(4*r, 4*r), C...
2019-01-30 20:42:51 984
原创 图像的矩
原理代码#include &amp;lt;opencv2/opencv.hpp&amp;gt;#include &amp;lt;iostream&amp;gt;using namespace cv;using namespace std;Mat src_gray;int thresh = 100;RNG rng(12345);void thresh_callback(int, void*)
2019-01-29 22:26:05 927
原创 轮廓的最小外接矩形、最小外接圆、三角形、椭圆等
OpenCV官网#include &amp;amp;amp;lt;opencv2/opencv.hpp&amp;amp;amp;gt;#include &amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace cv;using namespace std;Mat src_gray;int thresh = 100;RNG rng(12345);
2019-01-28 19:11:59 5970
原创 希尔排序
希尔排序原理:因为插入排序在(1):序列基本有序的情况下;(2)数据较少的情况下;效率较高,对于乱序的大数据效率不高。所以希尔排序对此进行优化,先分组进行插入排序,完成之后序列基本有序,再进行最后总的插入排序。代码#include "stdafx.h"#include <iostream>#include <time.h>#include <st...
2019-01-27 22:53:33 128
原创 凸包(Convex Hull)
凸包介绍代码#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;RNG rng(1);#define MAX_POINTS 50 //最大点数int num_points =20; //默认点数void ConvexHul...
2019-01-27 20:42:20 903
原创 检测轮廓(Finding Contours)
官网链接代码#include &amp;amp;lt;opencv2/opencv.hpp&amp;amp;gt;#include &amp;amp;lt;iostream&amp;amp;gt;using namespace cv;using namespace std;Mat src_gray;int thresh = 100;RNG rng(12345);void thresh_callba
2019-01-27 16:19:15 316
原创 模板匹配(template matching)
原理什么是模板匹配?你有一副原图像,还有一小块模板(很小的图像,有可能来源于原图像),通过模板找出原图中和模板相似的位置。如何实现匹配?原图(I):我们需要在上面找到和模板匹配的图像模板(T):一小块图像,是我们需要在原图中找到和它相似的区域位置的图像方法:一直用模板在原图上进行移动,从左到右,从上到下,每移动一个像素,便去在模板区域内计算 “一种度量(度量)”,然后将"度量"结果存...
2019-01-26 21:08:20 8318
原创 选择排序
代码// ConsoleApplication1.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdlib.h>#include <iostream>#include <windows.h>#include <time.h>using namespace std;void...
2019-01-25 23:01:15 111
原创 反向投影(Back Projection)
原理代码OpenCV API复制输入图像的一个通道到输出图像的一个通道void cv::mixChannels( const Mat * src, // 输入图像的数组,每个图像都必须相同size和depthsize_t nsrcs, //输入图像的个数Mat * dst, //输出图像数组,所有图像必须是已经被分配好大小、深...
2019-01-25 16:38:16 5472
原创 直方图比较
原理如何对两个直方图进行比较,通过一种度量方法来判断两个直方图的相似程度。两个直方图:H1H2H_1 H_2H1H2,规定 d(H1,H2)d(H_1,H_2)d(H1,H2)他们之间的匹配程度,OpenCV给出了几种方法:Correlation ( CV_COMP_CORREL )Chi-Square ( CV_COMP_CHISQR )Intersectio...
2019-01-24 22:27:42 334
原创 直方图均衡(Histogram Equalization)
官网教程原理原理参考 ,或者数字图像处理p72将图像像素值概率分别拉升,扩大分别范围,提高对比度,应用于背景和前景像素差别不大最终的映射公式:sk=T(rk)=(L−1)∑j=0kPr(rj)=L−1MN∑j=0knj&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&
2019-01-23 19:27:19 9159
原创 UEFI+双GPT分区硬盘安装Ubuntu18.04
设备介绍1.电脑:Win10已经装在一个固态硬盘上,i7第7代,8G内存2. 存储:256固态(刚买来就装的Win10)+1T机械(当时刚安装的时候无意进行MBR分区,用时间久了里面东西多了,也没办法弄成GPT的格式)+250固态(新装,打算装Ubuntu18.04)2.显卡: Nvidia1050Ti+集成显卡(忘了叫啥,intel的好像)基础知识介绍UEFI : 与之对应的是L...
2019-01-19 00:14:40 4159
原创 .vimrc 文件
&amp;amp;amp;amp;amp;amp;quot;插件相关&amp;amp;amp;amp;amp;amp;quot;按键映射&amp;amp;amp;amp;amp;amp;quot;copy ,paste 之后 光标移到后面vmap &amp;amp;amp;amp;amp;amp;amp;lt;C-c&amp;amp;amp;amp;amp;amp;amp;gt; &
2019-01-17 18:43:55 185
原创 vim中的各种map
VIM 介绍Vim之所以强大,map也是一个亮点,可以将各种组合键映射成你需要的按键,这样使用起来就会更加快捷、方便。Vim在使用的时候有4种模式Normal (正常模式)Insert(插入模式)Visual (可视模式):(命令模式)map映射对于映射可能有以下几种前缀:nore :表示非递归(no recursion)n :表示正常模式...
2019-01-17 18:16:40 4763
原创 仿射变换(affine transformation)
原理代码OpenCV API计算放射矩阵map_matrix ( 2×3), Mat cv::getAffineTransform ( const Point2f src[], // 原图像的三个顶点 const Point2f dst[] //目的图像的三个顶点 ) 对一幅图像进行仿射变换 void cv...
2019-01-11 18:02:52 2029
原创 非递归遍历
原理代码基于栈的顺序存储stack.h#ifndef __STACK_H#define __STACK_H#define MAX_SIZE 1024typedef struct STACK{ void* Stack_Sqe[MAX_SIZE]; int size; }Stack;Stack* Init_Stack(void);void Push_St...
2019-01-11 10:12:02 728
原创 霍夫变换(Hough Circle Transform)-圆检测
官网教程代码在这里插入代码片OpenCV APIvoid cv::HoughCircles( InputArray image, // 8-bit, single-channel, grayscale input image.OutputArray circles, // 输出检测到的圆,参数是 float型 (x,y,radius)int me...
2019-01-09 21:44:20 3598
原创 霍夫变换(Hough Line Transform)-直线检测
OpenCV官网参考1原理直角坐标表示用y=mx+by=mx+by=mx+b 描述一条直线, m是斜率, b是截距,m和b是参数。如果将上面 的式子改写:b=−mx+yb=-mx+yb=−mx+y ,x和y 是参数。根据以上两个式子得出结论:给定一个点(x,y),对应到 2 上就是一条直线,x 相当于斜率,y相当于截距。如果给定一系列的点(x1,y1)、(x2,y2)、(x3,...
2019-01-08 22:44:16 4215 1
原创 电脑查看无线密码
win10点击右下角无线的图标,点击网络设置点击左边的面板:以太网点击右侧:网络和共享中心点击连接:点击无线属性->安全->勾上显示字符,这时候密码就显示出来了,就可以分享给别人了win 7点击右下角无线的图标,打开网络和共享中心,点击连接(同上面第4步),后面和上面是一样的...
2019-01-07 15:25:50 911
原创 通过网线、局域网共享文件
网线发送端win7(1) 右击需要共享的文件夹 -&gt; 共享 -&gt; 特定用户(2)在上面的下拉框找到Everyone,如果没有自己添加一个即可,再将后面的权限修改成 读/写,点击下面的共享(3) 这时候会弹出你要共享文件的列表,选中它,点击下面的完成(4)控制面板-&gt; 网络和Internet-&gt; 网络和共享中心 ,左边的面板的 更改高级共享设置,启用网络发现...
2019-01-07 11:53:23 791
原创 二叉树的拷贝、释放
代码// ConsoleApplication1.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct BINARYNODE{ char ch; struct BIN...
2019-01-05 14:26:29 220
原创 二叉树-递归求叶子节点数、数的高度
一共有3个叶子节点代码#include &lt;stdio.h&gt;#include &lt;string.h&gt;typedef struct BINARYNODE{ char ch; struct BINARYNODE* left; struct BINARYNODE* right;}BinaryNode;void CalculateLeaves(...
2019-01-04 22:30:22 1814
原创 Laplace 算子-边界检测
原理当一个图像在像素值变化大的地方(比如边界),对其取 first derivative ,得到:取 second derivative 得到 :变化最大的地方,一阶导数最大,二阶导数为0,前者是Sobel算子所为,后者便是 Laplace 算子所为公式因为图像是2D的,所以对两个方向求二阶导数:例子在这里插入代码片结果:OpenCV API内部调...
2019-01-04 21:41:25 315
原创 Sobel算子-边界检测
OpenCV官方教程原理Sobel算子近似计算图像梯度Horizontal 方向的变化:III是输入图像,算出的Gx:G_x:Gx:[−10+1−20+2−10+1]∗I \left[\begin{matrix}-1 &amp;amp;amp;amp; 0 &amp;amp;amp;amp; +1 \\-2&amp;amp;amp;amp; 0 &amp;amp;amp;amp; +2 \\-1 &
2019-01-01 22:35:37 1249
原创 给图像添加边界
OpenCV官网教程原理 一般在处理卷积操作的时候,遇到图像边界要么扩大图像,要么图像边界不做处理。对于增加图像边界通常有很多方法,这里介绍两种,使用的是OpenCV API cv::copyMakeBorder()BORDER_CONSTANT:给边界填充常量BORDER_REPLICATE:将原来的边界复制到扩大的边界例程在这里插入代码片结果:OpenCV API...
2019-01-01 19:34:51 1280
原创 二叉树递归遍历
二叉树遍历先序遍历:根左右结果:ABCDEFGH中序遍历:左根右结果:BDCEAFHG后续遍历:左右根结果:DECBHGFA代码在这里插入代码片
2019-01-01 17:41:54 789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人