机器视觉
啥都想学点的研究生
刚入坑的研究生,对视觉情有独钟,自己也是入门小白,欢迎和各位大神一起交流学习
展开
-
如何使用opencv检测二维码和条形码
我们将学习如何使用opencv检测图像中的QR码和条形码,我们首先了解一下基础知识,然后我们将继续创建一个身份验证项目,在该项目中,根据上的QR码检查人是否被授权或未经授权。在python中,我打开一个新项目,第一件事是要导入我们所需要的库代码如下:import cv2import numpy as npfrom pyzbar.pyzbar import decode # 从pyzbar中导入解码器# img = cv2.imread('3.webp')cap = cv2.Vi.原创 2022-05-11 16:30:42 · 1460 阅读 · 0 评论 -
使用opencv进行角度测量
这个项目很简单,要做的就是,在两条线之间形成一个角度,因此我们将使用以下方式定义这些线,我们将定义三个不同的点,这三个点将创建两条不同的线,我们测量出这两线之间的角度,第一个点为角度顶点,第二点和第三点控制角度的张口大小。第一步:首先需要导入opencv库和math库:第二步:导入我们需要的图像:第三步:获取实际工作中鼠标的实际坐标值,定义点列表第四步:获得列表点,和角边线之后进行角度计算,这里的角度计算就是进行tan(a-b)的运算第五步:获取两点连线下的梯度.原创 2022-05-11 08:50:18 · 3234 阅读 · 0 评论 -
使用tesseract在Python OCR中使用OpenCV进行文本检测
第一步:首先我们要进入tesseract官网——tessdoc官网找到对应的软件安装包下载安装。原创 2022-05-08 11:58:56 · 852 阅读 · 0 评论 -
opencv快速入门—视频文件与摄像头的使用
贾志刚老师—opencv基于c++快速入门基础30讲(22)头文件:创建函数函数文件:函数的实现主程序文件:原创 2021-10-24 20:23:10 · 970 阅读 · 0 评论 -
opencv快速入门—图像翻转
贾志刚老师—opencv基于c++快速入门基础30讲(19)图像翻转函数:flipflip(InputArray src, OutputArray dst, int flipCode);flip(输入矩阵,输出矩阵,翻转代码);使用该函数的示例场景如下:垂直翻转图像(flipCode == 0)以在左上角和左下角的图像原点之间切换。这是Microsoft Windows* OS上视频处理的典型操作。水平翻转与后续图像的水平和绝对差分计算转移到检查种对称(flipCode > 0)...原创 2021-10-24 10:43:14 · 974 阅读 · 0 评论 -
opencv快速入门—图像像素类型转换与归一化
贾志刚老师—opencv基于c++快速入门基础30讲(19)首先关于归一化:图像归一化就是把需要处理的像素数据经过归一化处理后即通过某些算法,将这些数据限制在一定范围的之内。数据归一化的作用是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化的目的,是使得没有可比性的数据变得具有可比性,同时又保持相比较的两个数据之间的相对关系,如大小关系;或是为了作图,原来很难在一张图上作出原创 2021-10-23 21:32:54 · 462 阅读 · 0 评论 -
opencv块速入门—鼠标操作与响应
贾志刚老师—opencv基于c++快速入门基础30讲(18讲)本讲通过setMouseCallback函数实现利用鼠标绘制矩形的过程,详见代码头文件:创建鼠标绘制函数函数实现:主文件:调用函数...原创 2021-10-23 11:50:15 · 95 阅读 · 0 评论 -
opencv快速入门—多边形的绘制与填充
贾志刚老师—opencv基于c++快速入门基础30讲首先创建一个空白矩阵图像,再在空白图像中规定一些点,把这些点整成一个数组pts,再将规定的各点导入(push_back)数组中;最后是利用fillPoly填充函数,将多边形矩阵进行填充;利用polylines函数进行多边形边的绘制;第二种方法是利用drawContours函数:首先先将pts各点导入contours数组中,在同时填充多边形,此函数可以同时填充多个多边形头文件:创建函数,注:此函数不需要导入参数()内为空即可函数文件:函数原创 2021-10-22 22:36:47 · 1314 阅读 · 0 评论 -
opencv快速入门—随机数与随机颜色
贾志刚老师—opencv基于c++快速入门基础30讲RNG:提供随机数的一个种子头文件:建立函数文件函数文件:函数的具体实现,随机数的实现过程主程序文件:原创 2021-10-22 21:21:03 · 125 阅读 · 0 评论 -
opencv快速入门—图像几何形状的绘制
贾志刚老师—opencv基于C++快速入门30讲知识点:几何形状的绘制-绘制矩形:rectangle-绘制圆:circle-绘制直线:line-绘制椭圆:ellipse头文件:创建函数函数实现:主程序文件:...原创 2021-10-20 11:38:55 · 118 阅读 · 0 评论 -
opencv快速入门—图像像素值统计
贾志刚老师—opencv基于C++快速入门基础30讲知识点:像素值统计-最小(min)-最大(max)-均值(mean)-标准方差(standard deviation)API知识点-最大最小值minMaxLoc-计算均值与标准方差meanStdDev头文件:创建函数函数文件:函数的实现主程序文件:函数调用...原创 2021-10-20 10:39:58 · 183 阅读 · 1 评论 -
opencv快速入门—色彩空间与色彩空间转换
贾志刚老师—opencv基于c++快速入门基础30讲知识点:色彩空间与色彩空间转换-RGB色彩空间-HSV色彩空间-YUV色彩空间-YCrCb色彩空间API知识点-色彩空间转换函数cvtColor-提取指定色彩范围区域inRange头文件:创建演示函数函数文件:函数实现主程序文件:...原创 2021-10-19 20:50:51 · 73 阅读 · 0 评论 -
opencv快速入门—通道分离与合并
贾志刚老师—opencv基于C++快速入门基础30讲知识点:通道分离与合并Opencv中默认imread函数加载图像文件,加载进来的是三通道彩色图像,色彩空间是RGB色彩空间,通道顺序是BGR(蓝色、绿色、红色),对于三通道的图像opencv中提供了两个API函数用以实现通道分离与合并。-split//通道分离-merge//通道合并扩展知识:在很多CNN的卷积神经网络中输入的图像一般会要求[h, w, ch]其中h是高度、w是指宽度、ch是指通道数数目、opencv DNN模块中关原创 2021-10-19 17:05:59 · 332 阅读 · 0 评论 -
opencv快速入门—图像像素的逻辑操作
贾志刚老师—opencv基于c++快速入门基础30讲第十讲知识点:像素操作之逻辑操作-bitwise_and:逻辑与-bitwise_xor:逻辑异或-bitwise_or:逻辑或上面三个类似,都是针对两张图像的位操作-bitwise_not针对输入图像,图像取反操作,二值图像分析中经常用-dst=~image,//image为输入图像,~为取反符号也是针对输入图像,图像取反操作,二值图像分析中经常用知识点:opencv矩形的绘制- rectangle函数re原创 2021-10-19 10:52:20 · 167 阅读 · 0 评论 -
opencv快速入门—opencv自带颜色表操作
贾志刚老师—opencv基于C++的快速入门课程(第九讲)知识点:Look Up Table(LUT)查找表解释了LUT查找表的作用与用法,代码实现与API介绍applyColorMap(src, dst, COLORMAP) src表示输入图像,要求输入图像为彩色或者灰度 dst表示输出图像,输出图像由自己而定 匹配到的颜色LUT, opencv支持13种颜色风格的查找表映射头文件:创建类函数函数文件:实现不同色彩条下图片的自动切换显示主程序文件:调用函数...原创 2021-10-18 21:33:35 · 248 阅读 · 0 评论 -
opencv快速入门—键盘响应操作
贾志刚老师—opencv基于c++快速入门基础30讲本节课程中主要讲解利用键盘实现图像处理过程的便捷操作,如:键盘按下1,图像变成灰度图像;键盘按下2,图像变成hsv色彩空间的图像;键盘按下3,图像亮度增加。头文件:创建键盘快速响应函数函数文件:实现键盘响应的具体实现主程序文件:调用函数实现具体操作效果展示:键入1键入2键入3...原创 2021-10-18 20:18:30 · 200 阅读 · 0 评论 -
opencv快速入门—滚动条操作演示参数传递度
贾志刚老师—opencv基于c++快速入门基础30讲本节课程中主要讲解了利用滚动条调节图像的亮度和对比度头文件:滚动条快速演示函数函数文件:关键字userdata的具体作用不理解,addWeighted函数的各个参数不是很清楚,请教各位大神指点主程序文件:...原创 2021-10-18 11:32:52 · 128 阅读 · 0 评论 -
opencv快速入门—滚动条操作演示调整图像亮度
贾志刚老师—opencv快速入门30讲图像或mat的加减乘除(算术运算),这个算术运算一个可以跟标量进行加减乘除,还可以跟图像对象本身进行算术运算,可以达到图像亮度的目的。Trackbar/滚动条操作演示头文件:创建滚动条快速演示函数函数文件:此处createTrackbar函数第五个参数回调函数on_track不是很懂,即on_track(50,0)的含义是啥,愿广大网友解答主程序文件:...原创 2021-10-17 19:45:45 · 108 阅读 · 0 评论 -
opencv快速入门—图像像素的算术操作
贾志刚老师—openccv快速入门30讲第五课算术运算包括加减乘除运算,这里主要介绍加法运算。详见截图代码头文件:创建算术运算函数函数文件:算术运算函数的实现主文件:调用头文件及函数...原创 2021-10-17 16:02:40 · 92 阅读 · 0 评论 -
opencv快速入门—图像像素的读写操作
贾志刚老师-opencv快速入门第四课Opencv中图像像素读写操作C++中的像素遍历与访问(注:单通道和三通道的遍历方式不同)-数组遍历-指针方式遍历Python中的像素遍历与访问-数组遍历头文件:创建了像素快速访问函数函数文件:像素快速访问函数的实现主文件程序:...原创 2021-10-17 10:55:34 · 85 阅读 · 0 评论 -
opencv快速入门—图像的创建与赋值
知识点C++中Mat对象与创建Mat的基本结构主要分为头部和数据部分数据部分:所有的像素值的一个集合头部:图像的属性(大小,宽高等)Mat常见的创建方法——克隆(src.clone);Mat复制——src.copyto;Mat直接赋值法——mat m3=src;//指向同一个dateblockMat创建空白图像;Mat对象与IplImage对象Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两部分,原创 2021-10-16 21:14:25 · 297 阅读 · 0 评论 -
opencv快速入门—图像色彩空间转换
贾志刚——opencv快速入门30讲第二课知识点:图像色彩空间转换函数:cvtcolorcvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间,有三个参数,第一个参数表示源图像、第二参数表示色彩空间转换之后的图像、第三个参数表示源和目标色彩空间如:COLOR_BGR2HLS、COLOR2GRAY等cvtColor(image,gray_image,COLOR_BGR2GRAY);色彩空间转换函数-cvtColorCOLOR_BGR2GRAY=6彩色到灰度COLOR_GR原创 2021-10-16 16:56:29 · 594 阅读 · 0 评论 -
图像读取与显示
贾志刚老师opencv入门30讲第一讲笔记知识点:读取图像:imreadImread加载图像Imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值 IMREAD_UNCHANGED(<0)表示加载原图,不做任何改变 IMREAD_GRAYSCALE(0)表示加载原图,不做任何改变 IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来注意:Opencv支持JPG/PNG/TI原创 2021-10-16 11:27:06 · 470 阅读 · 0 评论 -
Face Detection
In this chapter we are going to learn how to detect faces in an image. Now in might sound complicated but it is actually easier than detecting colors or contours. So let’s get started first thing we will do is we will create a new c++ files. And then we wi原创 2021-10-10 16:18:42 · 352 阅读 · 0 评论 -
Shapes Detection
这次主要进行形状检测代码学习,利用opencv内置函数编写代码,检测出不同的形状。详见代码:#include<opencv2/imgcodecs.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;//声明使用opencv命名空间using namespace std;//声明使用标准库命名空间/原创 2021-10-10 10:53:38 · 92 阅读 · 0 评论 -
Color Detection
In this chapter we are going to learn how to detect colors in images. So you can use this to create an object detector of a specific color as well. Now we are going to change BGR to HSV, let’s create this image. So we will write here mat and let’s write ou原创 2021-10-07 21:03:17 · 109 阅读 · 0 评论 -
Draw Shapes and Text
In this chapter, we are going to create our own blank image. So let’s write here blank image and here we are going to define Mat, and we will call our image img. Now we have to define the size. So let’s say 512 by 512, and then we can define for example th原创 2021-09-28 15:13:52 · 268 阅读 · 0 评论 -
Resize and Crop
The first thing is we are importing our image and now we are going to resize it. So to resize we have a function in opencv that helps us out, so we will write resize(), resize ( InputArray src,//输入图像 .原创 2021-09-27 10:44:50 · 164 阅读 · 0 评论 -
Import Image and Read Image
1.How to import image and read image?Create file: The first thing we will do here we are in our project and we are going to click and you can right click anywhere and you can create a new item and we will call this chapterone.Header files:enter file,..原创 2021-09-24 21:35:22 · 103 阅读 · 0 评论