![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像识别
文章平均质量分 93
SMU_elec
这个作者很懒,什么都没留下…
展开
-
OpenCV学习笔记—— OpenCV 3.0.0环境配置 + opencv_contrib编译(Windows10)
学习图像识别处理中会使用带sift和surf算法,但在opencv3.0.0版本后,由于版权问题,并不会直接集成默认安装,而是和其他“non-free”被集中在opencv_contrib中,所以当需要使用此功能时,需在配置OpenCV时同OpenCV源码一块编译。软件环境:一、准备阶段1.下载OpenCV3.0.0(本文及后续学习笔记均基于此版本)...原创 2021-01-22 16:01:38 · 1409 阅读 · 1 评论 -
RANSAC算法原理与源码解析
随机抽样一致性(RANSAC)算法,可以在一组包含“外点”的数据集中,采用不断迭代的方法,寻找最优参数模型,不符合最优模型的点,被定义为“外点”。在图像配准以及拼接上得到广泛的应用,本文将对RANSAC算法在OpenCV中角点误匹配对的检测中进行解析。1.RANSAC原理OpenCV中滤除误匹配对采用RANSAC算法寻找一个最佳单应性矩阵H,矩阵大小为3×3。RANSAC目的是找到最优的参数矩阵使得满足该矩阵的数据点个数最多,通常令h33=1来归一化矩阵。由于单应性矩阵有8个未知参数,至少需要8个线性方原创 2020-12-28 21:50:55 · 1056 阅读 · 1 评论 -
VS2017+opencv(C++)学习笔记:调用外部摄像头、录像、拍照功能
一、开发环境1.opencv-3.3.0-vc142.VS 20173.win10二、实验步骤打开摄像头打开摄像头同时开始录制视频按键保存当前帧三、分步实现基于opencv提供的两个主要的视频操控类VideoCapture和VideoWriter来实现录制视频功能,由于一些参考文档中只实现单一录像或单一拍照功能,或录制视频会出现解码错误问题,故写此学习笔记,以供参考。1.实现调用摄像头#include <opencv2\opencv.hpp>#include <原创 2020-11-09 16:23:42 · 9412 阅读 · 3 评论 -
opencv图像处理学习九:模糊图像
学习目的:1.迷糊原理2.代码演示一、模糊原理Smooth/Blur 是图像处理中最简单和常用的操作之一使用该操作的原因之一就为了给图像预处理时候减低噪声使用Smooth/Blur操作其背后是数学的卷积计算通常这些卷积算子计算都是线性操作,所以又叫线性滤波假设有6x6的图像像素点矩阵。卷积过程:6x6上面是个3x3的窗口,从左向右,从上向下移动,黄色的每个像个像素点值之和取平均值赋给中心红色像素作为它卷积处理之后新的像素值。每次移动一个像素格。归一化盒子滤波(均值滤波)原创 2020-11-08 17:43:57 · 727 阅读 · 0 评论 -
OpenCV图像处理学习八:绘制形状与文字
学习目标:1.使用使用cv::Point与cv::Scalar2.绘制线、矩形、园、椭圆等基本几何形状3.随机生成与绘制文本4.代码演示一、使用使用cv::Point与cv::ScalarPoint表示2D平面上一个点x,yPoint p;p.x = 10;p.y = 8;orp = Pont(10,8);Scalar表示四个元素的向量Scalar(a, b, c);// a = blue, b = green, c = red表示RGB三个通道二、绘制线、矩形、园、椭圆等基原创 2020-11-08 15:36:18 · 127 阅读 · 0 评论 -
机器视觉与计算机视觉的区别与联系
机器视觉和计算机视觉是两个既有区别又有联系的专业术语。机器视觉(machine vision)偏重于计算机视觉技术工程化,能够自动获取和分析特定的图像,以控制相应的行为。计算机视觉(computer vision)是采用图像处理、模式识别、人工智能技术相结合的手段,着重于一幅或多幅图像的计算机分析。具体来说,计算机视觉为机器视觉提供图像和景物分析的理论及算法基础,机器视觉为计算机视觉的实现提供传感器模型、系统构造和实现手段。在某种意义上可以说,一个机器视觉系统就是一个能自动获取一幅或多幅目标物体图像,对转载 2020-10-29 21:10:54 · 3229 阅读 · 0 评论 -
OpenCV学习中cvtColor与cvCvtColor的区别,及未定义标识符问题解决
一、cvCvtColorcvCvtColo为C语言风格接口- void cvCvtColor(const CvArr src, CvArr* dst, int code)**CvMat是C中的一个结构体,用CvMat定义的变量,要用cvCvtColor()函数来调用二、cvtColorcvtColor为C++语言风格- void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )//InputArray:接口原创 2020-10-29 18:49:50 · 2074 阅读 · 0 评论 -
OpenCV图像处理学习四: mat对象
Mat对象与IplImage对象Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分IplImage是从2001年OpenCV发布之后就一直存在,是C语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄漏问题...原创 2020-10-29 18:25:17 · 212 阅读 · 0 评论 -
OpenCV图像处理学习三: 矩阵的掩膜操作
往期笔记opencv学习二:加载、修改、保存图像本期笔记学习目标:1.获取图像像素指针2.掩膜操作解释3.代码演示一、获取图像像素指针CV_Assert(myImage.depth() == CV_8U);Mat.ptr(int i=0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数。获得当前行指针const uchar* current= myImage.ptr(row );获取当前像素点P(row, col)的像素值 p(row, col) =current[col]原创 2020-10-19 16:16:53 · 159 阅读 · 0 评论 -
opencv图像处理学习二:加载、修改、保存图像
学习目标:1.加载图片(用cv::imread)2. 修改图像(用cv::cvtcolor)改变颜色空间(表示图像中所显示颜色为单色混合而成)3. 保存图像(用cv::imwrite)1.加载图像 imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值 IMREAD_UNCHANGED (<0)表示加载原图,不做任何改变 IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来原创 2020-09-25 15:34:24 · 389 阅读 · 0 评论 -
openCV学习/找不到opencv_world3x0d.dll,无法继续执行代码,此类问题的解决方案
调试过程中的提示错误:找不到opencv_world3x0d.dll,无法继续执行代码*点击调试时弹错误提示窗口,无法找到此文件,数字为版本解决方案:1.找到自己的安装位置,找到如下文件D:\openCV\opencv\build\x64\vc14\bin上面是我的安装路径。将划线的后缀为.dll的应用程序扩展复制到C:\Windows\System32中。需要注意:64位系统用户需要注意,32位的DLL文件放在【C:\Windows\SysWOW64】,64位的DLL文件放在“【C:\Wi原创 2020-09-24 18:18:01 · 490 阅读 · 0 评论