
OpenCv
五好市民亚瑟摩根
这个作者很懒,什么都没留下…
展开
-
机器学习1
机器学习的概念所谓的机器学习,就是让机器学会自动的找到函数或者解决方法,举例来说,语音识别(Speech Recognition)就是将输入的声音通过函数变化转变成符号输出,因为这样的函数太过于复杂,靠人工很难写出来,因此希望让机器通过学习可以自动找到这样的函数。而你所需要的函数不同,对机器学习的目标也就不同。输出的结果只有两种(yes or no)称为二分类输出(Binary Classification)输出结果有很多种(有限个制定好的选项)称为Muti-class Classifica原创 2020-08-27 17:10:18 · 276 阅读 · 0 评论 -
OpenCv学习0825,基于匹配算法的图像平滑拼接
图像的平滑拼接,基于的技术理论是特征匹配,将两张图重叠的地方特征匹配,选取强匹配特征点,根据选取到的匹配点,将图片进行形变,,然后复制到同一张图片上,实现拼接,最后对拼接处进行优化处理,使拼接处更加自然。听上去不难,实现还是不容易的。第一部分,特征点匹配,这部分直接采用特征匹配的相同方法即可//灰度图转换 Mat image1, image2; cvtColor(image01, image1, COLOR_RGB2GRAY); cvtColor(image02, image2, COL原创 2020-08-25 13:44:29 · 765 阅读 · 0 评论 -
OpenCv学习0818,特征提取匹配学习01
图像特征可以表达图像中对象的主要信息,并且以此为依据可以从其他未知图像中检测出相似护着相同对象常见的图像特征 边缘 角点 纹理 特征的提取与描述SIFT SURF HOG Harrs LBP KAZE AKAZE BRISKDDMDetection Description MatchingHarris角点检测角点是两条边缘的交点或者在局部邻域中有多个显著边缘方向的点。Harris角点检测是一种在角点检测中最常见的技术。算法基本思想是原创 2020-08-18 17:08:24 · 175 阅读 · 0 评论 -
OpenCv学习0817——初试匹配算法
在opencv4中,SIFT和SURF不在发布的release版本中了,这些方法被放入了opencv_contrib中,如果想使用需要自己编译到opencv,编译方法参考https://blog.youkuaiyun.com/Gordon_Wei/article/details/85775328代码实现void Demo::SURF_demo(Mat &image1, Mat &image2) { //创建提取特征点方法 Ptr<xfeatures2d::SURF> su原创 2020-08-18 09:35:33 · 248 阅读 · 0 评论 -
OpenCv学习0814
直方图均衡化OpenCV中直方图均衡化的API函数十分简单 equalizeHist(src, dst);只有输入src和输出dst对于直方图均衡化的原理,可以参考这篇文章直方图均衡化具体实现:由于这个函数只支持单通道,因此需要先将图片转换成灰度图片。 Mat gray; cvtColor(image, gray, COLOR_BGR2GRAY); Mat dst; equalizeHist(gray, dst); imshow("EQ His", dst);原创 2020-08-14 11:08:48 · 172 阅读 · 0 评论 -
OpenCv学习0813
视频文件及摄像头的使用这一段其实一开始就已经了解过了,这里算是复习一下视频的读取(从文件及摄像头)读取视频文件和摄像头,实际上只是修改cap文件的获取方式而已void Demo::video_demo(Mat &image) { VideoCapture cap1(0); //打开摄像头 VideoCapture cap2("视频文件路径"); //读取视频文件 Mat frame; //创建一帧 while (true) { //cap >>原创 2020-08-13 13:35:19 · 170 阅读 · 0 评论 -
OpenCv学习0812
图像像素的类型转换与归一化在计算机中,图像的默认存储格式是8位,在OpenCV中,可以将图像的数据类型进行转换,也可以将数据的取值空间进行转换,即将0-255的范围压缩为0-1的范围内,称为归一化。数据类型的转化和归一化的关系实际上数据类型转换是为归一化做准备的,试想一下,将一个整形的数据(0-255)压缩为0-1的范围,那么势必会出现变成浮点数,而这个时候如果数据的类型还是整形,那么小数点后的内容就会被省略,归一化就无法完成了,数据类型的转换就是为了这种情况准备的。以下是Mat的数据类型和原创 2020-08-12 11:39:26 · 184 阅读 · 0 评论 -
OpenCv学习0811
在OpenCV中绘制几何形状void Demo::drawing_demo(Mat &image) { Mat bg = Mat::zeros(image.size(), image.type()), dst; //矩形 Rect rect;//可以用Rect定义矩形 rect.x = 200;//矩形左上角的坐标 rect.y = 200;//矩形左上角的坐标 //注:坐标系是以左上角为原点,右下角为正方向 rect.width = 80; rect.height = 8原创 2020-08-11 11:53:44 · 262 阅读 · 0 评论 -
OpenCv学习—获取图像矩阵某点的值或改变某点的值
Mat::at()对于单通道图像的使用方法: image.at<uchar>(i,j) = 255;对于RGB三通道图像的使用方法: image.at<Vec3b>(i,j)[0] = 255; image.at<Vec3b>(i,j)[1] = 255; image.at<Vec3b>(i,j)[2] = 255;Mat的模板子类Mat_&l...原创 2020-08-10 15:45:00 · 734 阅读 · 0 评论 -
OpenCv学习0810
TrackBar滚动条void Demo::tracking_bar_demo(Mat &image) { namedWindow("亮度调整", WINDOW_AUTOSIZE); int lightness = 50; int max_value = 100; createTrackbar("Value", "亮度调整", &lightness, max_value, on_track,(void*)(&image)); //trackbar窗口名称,要改变的窗口原创 2020-08-10 15:43:11 · 318 阅读 · 0 评论 -
OpenCv学习—HSV模型
HSV颜色模型HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。、这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。色调H:用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;饱和度S:取值范围为0.0~1.0;亮度V:取值范.转载 2020-08-10 14:32:20 · 739 阅读 · 0 评论 -
OpenCv学习0806
学习如何在内存中存储图像,以及如何将图像的内容打印到控制台MatMat是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。矩阵头的尺寸是常数值,但矩阵本身的尺寸会依图像的不同而不同,通常比矩阵头的尺寸大数个数量级。因此,当在程序中传递图像并创建拷贝时,大的开销是由矩阵造成的,而不是信息头。OpenCV是一个图像处理库,囊括了大量的图像处理函数,为了解决问题通常要使用库中的多个函数,因此在..原创 2020-08-06 22:24:05 · 140 阅读 · 0 评论