首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenCV图像处理(十八)---图像之模板匹配

前言 在上一期的文章中,我们学习了图像的直方图均衡化,了解到直方图均衡化能够更好的观察图像的细节部分,形成鲜明的对比度。今天,我们将继续学习图像的新知识--图像模板匹配。...一、模板匹配 首先,我们从模板匹配的字义出发,模板顾名思义就是事先存在一个模板(图像或数据),然后利用这个模板进行下一步工作,匹配可以理解为比对的意思,因此,连起来就是事先有一个模板然后用这个模板与别的图像进行比对...1.1 原始图像 图像一: (以上图片(原始图像)中存在着模板图像,从这里面进行匹配图像二: (以上图片为模板,小编直接从原始图片中截取) 1.2 代码实践 #coding:utf-8 import...,代码首先读取木板图像和原始图像,随后得到了模板图像的尺寸,这个尺寸用于在后期的匹配成功后在原始图像中绘制矩形,紧接着,调用cv2.matchTemplate()函数进行模板匹配,第一第二两个参数是原始图像和模板图像...1.3 效果演示 (可以看到,以上图像中我们的模板图像已经匹配成功,nice !)

59120

OpenCV - 图像模板匹配 matchTemplate

模板匹配是将模板与重叠的图像区域进行比较,以定位重合区域的图像处理方法,本文记录 OpenCV 相关内容实现方法。...简介 模板匹配任务需要将模板在图像中搜索,以确定模板所在位置的一种技术,Python OpenCV 中封装的函数为 cv2.matchTemplate 官方文档:https://docs.opencv.org...matchTemplate 函数说明 函数引用形式 cv2.matchTemplate(image, templ, method[, result]) → result 参数说明 参数 含义 image 被搜索的图像...,模板需要在图像中网格计算损失函数(需要 int8 或 float32 格式的图像) templ 搜索的模板图像,尺寸不能比 image 大,需要和image有相同的图像数据格式 method 指定损失函数计算方法...image.png 示例引用 out_v = cv2.matchTemplate(image, template, cv2.TM_CCORR_NORMED) 参考资料 https://docs.opencv.org

47010
您找到你想要的搜索结果了吗?
是的
没有找到

OpenCV图像处理(十六)---图像直方图

前言 在上一期的文章中,我们学习了图像的轮廓特征,主要学习了轮廓检测函数和框选函数。今天,我们将继续学习图像的新知识--直方图。...我们看看一下吧,直方图简单来说就是图像中每个像素值的个数统计,比如说一副灰度图中像素值为0的有多少个,1的多少个……直方图是一种分析图片的手段,当然,图像中比较常见的颜色格式是彩色和灰度的,针对灰度图像直方图...(图像原始数据,像素的范围) 图像的灰度级是0-255,一共256个。...mask : 掩码图像 统计整幅图像的直方图,设为None。...直方图的作用:从上面的实例我们可以了解到,其实每一个图像的直方图是不一样的,由此,直方图可以用来进行比较不同的图像,不过直方图用到最多的是,均衡化,何为均衡化,简单地说,使得图像的像素值尽量分布均匀,而不是高低差落较大

73210

OpenCV图像处理(十三)---图像滤波

前言 在上一期的文章中,我们学习了图像阈值化(二值化)处理方法,阈值化操作很实用,特别是以后的去除噪点,图像分割等等都会涉及到一定的阈值操作。...一、图像滤波 一、图像滤波简介 滤波的在数字信号处理这门课程中的本义是,对各种数字信号中的某一或指定频率进行过滤(也可以理解为不想要的频率),最后筛选出我们想要的频率的信号,这即是滤波的过程,也是目的...均值滤波: OpenCV中有一个专门的平均滤波模板供使用------归一化卷积模板,所有的滤波模板都是使卷积框覆盖区域所有像素点与模板相乘后得到的值作为中心像素的值。...OpenCV中均值模板可以用cv2.blur,比如一个3*3的模板其实就可以如下表示; 这里的意思就是对这个M大小的像素区域进行对点相乘 ,然后各个相乘的结果相加 最后平均(除以9)。...imshow('dst',dst) cv2.waitKey(0) (可以看到高低双边滤波似乎变化不大,但别忘了像素分布取值已经不同了哦) 结语 今天的分享到此结束了,滤波操作将会是以后的图像处理和视频处理的基本操作

40320

Python opencv图像处理基础总结(四) 模板匹配 图像二值化

文章目录 一、模板匹配 1. 匹配原理 2. 匹配算法 3. opencv相关API 二、图像二值化 1. 全局阈值函数 2. 局部阈值函数 一、模板匹配 1....匹配原理 模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。...3. opencv相关API opencv的目标匹配函数 cv2.matchTemplate(image, templ, method, result=None, mask=None) -> result...匹配结果如下: 二、图像二值化 在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。...该函数的阈值操作属于像素级的操作,在灰度图中,每个像素都对应一个灰度值(0~255,0黑、255白),我们将阈值函数 threshold() 应用于图像图像的灰度值与阈值进行比较,从而实现二值化处理

79040

OpenCV图像处理(十一)---图像梯度

在上期的文章中,我们学习了图像的形态学技术,知道了开运算和闭运算,今天我们来学习图像的梯度知识,这对以后的图像边缘检测尤为重要,涉及到一部分数学知识,但是很简单,最后我会用一句话来概括,接着往下看。...图像梯度 图像梯度可以把图像看成二维离散函数,图像梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(横向、纵向等等)。...上高数的时候,我们都是连续函数,因此这个值可以取得很小,ϵ可以理解为x的最小前进步伐,但是图像是一个离散的二维函数,ϵ不能取得很小,图像中像素来离散的,而像素之间最小的距离是1,ϵ取为1,所以,上面的公式变为...1.4 效果展示 x 方向梯度图像: y 方向梯度图像: x,y梯度叠加图像: (可以看到,图像的边缘已经被检测出来了,后期我们可能继续深入讲解) 结语 今天的知识分享结束了,虽然涉及到了一定的数学知识...,不过不要担心哦,因为我们用一句话总结了梯度的定义哦,并且梯度的实现方式opencv库函数已经帮我们做到了,我们只需要根据参数使用就好了,是不是很简单呢,大家下去好好消化哦,我们下期再见。

34920

Python opencv图像处理基础总结(四) 模板匹配 图像二值化

它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。...模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域 所以模板匹配首先需要一个模板图像(给定的子图像) 另外需要一个待检测图像—源图像 在待检测图像上,从左到右,从上向下,计算模板图像与重叠子图像匹配度...3. opencv相关API opencv的目标匹配函数 cv2.matchTemplate(image, templ, method, result=None, mask=None) -> result...[elx1liphmo.png] 匹配结果 [848opckxpo.png] 二、图像二值化 在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓...该函数的阈值操作属于像素级的操作,在灰度图中,每个像素都对应一个灰度值(0~255,0黑、255白),我们将阈值函数 threshold() 应用于图像图像的灰度值与阈值进行比较,从而实现二值化处理

4.1K32

OpenCV图像处理(八)---图像缩放VS图像翻转

在上一期的文章中,我们学习了图像处理的平移和旋转知识,并且用代码进行了实践,今天,我们将学习图像处理的有一个篇章:图像缩放和图像翻转,往下看!...图像缩放 一、图像缩放简介 图像缩放,顾名思义 就是将图像按照一定比例进行大小的缩放,当然这个大小指的是图像的分辨率,例如640X480等等。...1.1 原始图片 1.2 代码实践 # 导入opencv包 import cv2 # 导入numpy包进行科学运算 import numpy as np # opencv读取图片数据 img = cv2...2.1 原始图像 2.2 代码实践 # 导入opencv包 import cv2 # 导入numpy包进行科学运算 import numpy as np # opencv读取图片数据 img = cv2...结语 好了,今天的分享结束了,我们的代码很简单哦,只要会调用 ,就能实现相应的功能,花费的时间也很短,切记下去进行实践操作哦,另外,如果大家还有什么想学习的图像处理技术,也欢迎大家后台回复哦

68120

OpenCV图像处理(二)

基本图像处理函数 基本图像处理函数包括读取,灰度,模糊,边缘提取,膨胀,腐蚀,重新整理大小,剪切等 #pylint:disable=no-member # 基本图像处理函数 #读取,灰度,模糊,边缘提取...,输出图像的每个像素点是原图像上对应像素点与周围像素点的加权和高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程 blur = cv.GaussianBlur(gray, (5,5...图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。...在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。...Soble算子的功能集合了高斯平滑和微分求导,又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到的是图像在X方法与Y方向梯度图像

48120

OpenCV图像处理(十二)---图像阈值化

前言 在上期的文章中,我们简要学习了有关图像梯度的知识,中间用数学知识进行了解读,最后用一句话进行了概括,今天,我们将继续学习图像的有关知识--图像阈值化(二值化)。...一、图像阈值化 图像阈值化(也叫二值化),就是将图像上每一个像素点的像素值设置为一个定值,一般为0(黑色)或者白色(255),最后整个图像将会表现出出黑和白的观察效果。   ...1.1 原始图像 (夜幕降临的城市) 1.2 代码实践 import cv2 import numpy as np # OpenCV阈值化函数实践 def img_thres(coor_image...coor_image = cv2.imread("./1.jpg") img_thres(coor_image) cv2.waitKey(0) cv2.destroyAllWindows() 在opencv...第二个参数 x : 阈值大小(超过或低于这个大小都会被处理)。

48620

OpenCV图像处理(十五)---图像轮廓特征

前言 在上一期的文章中,我们学习了图像的边缘检测知识,了解到边缘检测实际就是检测图像中亮度变化有区别或者较大的地方,实际效果表现为图像中的轮廓检测。...今天,我们继续来学习图像的新知识--轮廓特征。 一、检测并绘制轮廓的方法 轮廓检测是图像处理中常用的方法。...OpenCV中使用cv2.findContours()函数来查找检测物体的轮廓,一起来看看吧。...1.1 原始图像 (各式各样的形状) 1.2 代码实践 1)首先我们来寻找轮廓,然后将轮廓进行描红 # 首先我们来寻找轮廓,然后将轮廓进行描红 import cv2...cv2.imshow("img", img) cv2.waitKey(0) 代码分析:需要注意的是cv2.findContours()函数接受的参数为二值图,即黑白的(不是灰度图),所以读取的图像要先转成灰度的

30810

图像篇】OpenCV图像处理(七)---图像平移VS图像旋转

前言 在上期的文章(【图像篇】OpenCV图像处理(六)---图像混合VS按位运算)中,我们学习了图像混合的实际操作,其实就是图像按照不同权重的叠加,今天我们继续来学习别的图像处理知识点-图像平移VS...图像旋转。...图像平移 一、图像平移简介 简单的说图像平移就是对图像像素进行操作,从而实现图像左右上下平移的功能,其实图像平移也是属于仿射变换的一种,我们接着往下看。...1.1 原始图像 1.1 代码实践 # 导入opencv包 import cv2 # 导入numpy包进行科学运算 import numpy as np # opencv读取图片数据 img = cv2...1.1 效果展示 图像旋转 二、图像旋转 图像旋转顾名思义就是将图像按照一个对称点进行某个度数的旋转,可以使顺时针,也可以是逆时针,下面来看看实战吧。

95520
领券