09 2018 档案

摘要:1. 矩的概念 图像识别的一个核心问题是图像的特征提取,简单描述即为用一组简单的数据(图像描述量)来描述整个图像,这组数据越简单越有代表性越好。良好的特征不受光线、噪点、几何形变的干扰。图像识别发展几十年,不断有新的特征提出,而图像不变矩就是其中一个。 矩是概率与统计中的一个概念,是随机变量的一种数 阅读全文
posted @ 2018-09-29 19:31 RamboBai 阅读(1498) 评论(0) 推荐(0)
摘要:1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 4 using namespace std; 5 using namespace cv; 6 7 int main() 8 { 9 Mat image(600, 600, CV_8UC3); 阅读全文
posted @ 2018-09-28 19:16 RamboBai 阅读(829) 评论(0) 推荐(0)
摘要:凸包的含义: 在二维平面上给定点集,凸包就是将最外层的点连接起来构成的凸多边形。并且这个凸多边形能包含点集中所有的点。OPENCV中: convexHull函数用于寻找图像点集中的凸包。它有六个输入参数。 第一个参数:输入的二维点集第二个参数:输出的凸包。为数组类型的hull第三个参数:bool类型 阅读全文
posted @ 2018-09-28 18:37 RamboBai 阅读(1596) 评论(0) 推荐(0)
摘要:findContours(): 第二个参数为一个检测到的轮廓,函数调用后的运算结果都放在这里,每个轮廓存储为1个点向量,用point类型的vector表示。 第三个参数表示轮廓数量,包含了许多元素。每个轮廓对应4个hierarchy元素hierarchy[i][0]——hierarchy[i][3] 阅读全文
posted @ 2018-09-26 22:10 RamboBai 阅读(646) 评论(0) 推荐(0)
摘要:承接上一节,神经网络需要训练,那么训练集来自哪?测试的数据又来自哪? 《python神经网络编程》一书给出了训练集,识别图片中的数字。测试集的链接如下: https://raw.githubusercontent.com/makeyourownneuralnetwork/makeyourownneu 阅读全文
posted @ 2018-09-26 15:34 RamboBai 阅读(7941) 评论(0) 推荐(2)
摘要:进行霍夫圆变换中有一个API:HoughCircles()。 第五个参数为double类型的minDist(),为霍夫变换检测到的圆的圆心之间的最小距离,即让算法能明显区分的两个不同圆之间的最小距离。这个参数如果设置太小,多个相邻的圆可能被错误的检测成了一个重合的圆。反之,如果设置太大,某些圆就不能 阅读全文
posted @ 2018-09-26 13:39 RamboBai 阅读(5315) 评论(0) 推荐(0)
摘要:解决训练任务,包括两部分内容: 第一部分:针对给定的训练样本计算输出。这与query()函数所做的工作没什么区别。 第二部分:将计算所得到的输出与期望的目标值做对比,使用差值来指导网络权重的更新。 其中,第一部分的代码如下所示: 这部分与query()中的区别在于多了一个期望值,因为我们需要期望值来 阅读全文
posted @ 2018-09-23 19:59 RamboBai 阅读(1044) 评论(0) 推荐(0)
摘要:一.神经网络的大体结构可分为三个函数,分别如下: 1.初始化函数 设定输入层节点,隐藏层节点和输出层节点的数量。 2.训练 学习给定训练集样本后,优化权重。 3.查询 给定输入,从输出节点给出答案 所编写的代码框架可如下所示: 二.初始化网络 需要设置输入层节点,隐藏层节点和输出层节点的数量,同时不 阅读全文
posted @ 2018-09-21 20:26 RamboBai 阅读(4748) 评论(0) 推荐(0)
摘要:本次实验是检测图像中的直线,用到了HoughLines()和HoughLinesP()函数,其中HoughLinesP()称为累计概率霍夫变换,实验结果显示累计概率霍夫变换要比标准霍夫变换的效果好。具体的参数介绍书中网上都有,可参照此博客https://www.cnblogs.com/skyfsm/ 阅读全文
posted @ 2018-09-21 10:18 RamboBai 阅读(3548) 评论(0) 推荐(0)
摘要:本次实验使用了两种方法进行了边缘检测,分别使用到了opencv中的两个API函数为Canny()和Sobel()函数。实验后加了Scharr滤波器,它其实是基于Sobel()函数的。 这三个API中的参数可进行调整,实验中也可动态调整参数值来达到不同的检测效果。 1.Canny 效果图 2.Sobe 阅读全文
posted @ 2018-09-20 21:54 RamboBai 阅读(767) 评论(0) 推荐(0)
摘要:opencv中有两个进行阈值操作的API,分别是固定阈值操作函数Threshold()和自适应阈值函数adaptiveThreshold() 其中固定阈值操作函数里面有5中类型的对图像进行取阈值的方法。程序中使用了滑动条来切换阈值类型和阈值参数,示例如下: 显示效果: 阅读全文
posted @ 2018-09-17 14:06 RamboBai 阅读(778) 评论(0) 推荐(0)
摘要:本次使用opencv中的API函数resize()和pyrup()和pyrdown()进行图像尺寸的放大和缩小。 程序的功能说明如下: 按键的功能 按下1键:用resize()把图片放大 按下2键 :用resize()把图片缩小 按下3键: 用pyrup()把图片放大 按下4键:用pyrdown() 阅读全文
posted @ 2018-09-17 12:02 RamboBai 阅读(249) 评论(0) 推荐(0)
摘要:1.膨胀操作 显示结果: (1)原图 (2)膨胀操作图 2.腐蚀操作 显示效果: 阅读全文
posted @ 2018-09-13 19:45 RamboBai 阅读(246) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 4 using namespace cv; 5 using namespace std; 6 7 Mat src; // 原图像声明 8 Mat dst1_image, dst2_image, dst3_image; //三种滤波函数的目标图像声明 9 10 int BoxFilterValue = 3;// 方框滤波参... 阅读全文
posted @ 2018-09-13 18:38 RamboBai 阅读(314) 评论(0) 推荐(0)
摘要:显示效果: 阅读全文
posted @ 2018-09-11 13:18 RamboBai 阅读(717) 评论(0) 推荐(0)
摘要:调用两个API,一个是均值模糊,一个是高斯模糊。如下所示: 显示结果: (1)原图像 (2)均值模糊(5*5)模板 (3) x方向的均值模糊: (4)y方向的均值模糊 (4)高斯模糊 阅读全文
posted @ 2018-09-10 16:55 RamboBai 阅读(485) 评论(0) 推荐(0)
摘要:本次用opencv在图像上绘制了线,矩形,椭圆,圆的形状和放置了文字。 显示效果如下: (1)原图: (2)目标图像 阅读全文
posted @ 2018-09-09 20:41 RamboBai 阅读(375) 评论(0) 推荐(0)
摘要:1.理论基础 两个参数 和 一般称作 增益 和 偏置 参数。我们往往用这两个参数来分别控制 对比度 和 亮度 。 你可以把 看成源图像像素,把 看成输出图像像素。这样一来,上面的式子就能写得更清楚些: 其中, 和 表示像素位于 第i行 和 第j列 。 其中,α可以调整图像的对比度,β可以调整图像的亮 阅读全文
posted @ 2018-09-09 14:54 RamboBai 阅读(7840) 评论(0) 推荐(0)
摘要:1 线性混合理论 g(x) = (1-α)*f1(x) + α*f2(x) 其中,α代表图像的权重 显示结果为: 原图: 混合后的图像 阅读全文
posted @ 2018-09-08 20:27 RamboBai 阅读(491) 评论(0) 推荐(0)
摘要:显示结果: (1)源图像 (2)掩模后的图像 阅读全文
posted @ 2018-09-08 17:11 RamboBai 阅读(783) 评论(0) 推荐(0)
摘要:1.对灰度图像的像素操作: 显示结果: (1)彩色图像 (2)灰度图像 (3)反色图像 2.对彩色图像像素的操作 显示结果: 阅读全文
posted @ 2018-09-08 17:05 RamboBai 阅读(3866) 评论(0) 推荐(0)