cv计算机视觉
计算机视觉
总裁余(余登武)
这个作者很懒,什么都没留下…
展开
-
opencv+yolov3实现目标检测
python +opencv+yolov3实现目标检测原创 2021-03-25 16:44:28 · 701 阅读 · 2 评论 -
python各种读取图像方法
一.读取图像使用 matplotlib. imagefrom matplotlib import image as mpingfrom matplotlib import pyplot as pltimport numpy as npimg=mping.imread('美女.jpg')#image.read()plt.imshow(img)#图片显示plt.show()#画布显示print(type(img))print(img.shape)使用 opencvimport c原创 2020-11-15 18:00:27 · 740 阅读 · 0 评论 -
Keras .ImageDataGenerator图像增强用法大全以及如何和模型结合起来(有代码)
本文讲解Keras .ImageDataGenerator图像增强用法,以及如何和模型结合起来做图像分类。有算例有代码。原创 2020-11-15 17:46:56 · 3642 阅读 · 0 评论 -
python+opencv 给女朋友照片加上个性相框,学会等着她夸你。
讲解下如何给女朋友照片加上个性相框,学会让她夸你。素材1相框你的女朋友图代码def get_four_points(im): data = {} data['im'] = im.copy() data['points'] = [] cv2.namedWindow("Image", 0) cv2.imshow('Image',im) #请注意你标记点的数据,是顺时针,需要与pst_src 方向一致 cv2.setMouseCallback(原创 2020-08-27 18:13:50 · 1632 阅读 · 1 评论 -
opencv中的美图技巧(祛斑,词云,风格迁移,抠图,插图,修改背景,图片二维码)等着你的女朋友夸你吧
图片祛斑OpenCV中提供的边缘保留滤波可以实现该功能先上代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# @Author: yudengwu# @Date : 2020/8/24import cv2 as cvimport numpy as npdef bi_demo(image): dst = cv.bilateralFilter(image, 0, 40, 15) cv.imshow("bi_demo", dst)p原创 2020-08-24 17:39:20 · 1988 阅读 · 2 评论 -
计算机视觉:图像分类定位(单一目标检测)python实现
前言目标检测:我们不仅要用算法判断图片中是不是猫还是狗, 还要在图片中标记出它的位置, 用边框或红色方框把猫狗圈起来, 这就是目标检测问题。其中“定位”的意思是判断猫狗在图片中的具体位置。目标检测有两类任务:单一目标 ,多目标。能力差,电气专业,又未怎么深入研究cv.所以本文先探讨单一目标。HOG+SVM实现行人检测先讲解 opencv自带的行人检测例子HOG原理见计算机视觉:图像特征与描述大全 ,有代码(一篇博文带你简单了解完图像特征提取技术)不多说,上代码import cv2 a原创 2020-08-01 16:35:20 · 14029 阅读 · 2 评论 -
计算机视觉:图像特征与描述大全 ,有代码(一篇博文带你简单了解完图像特征提取技术)
本文介绍图像特征提取。编程语言:python特征:直方图具体讲解链接:opencv进阶学习笔记7:直方图,直方图均衡化,直方图比较,直方图反向投影bins的选择很重要:太多如256导致数据稀疏,太小则损失数据信息啦。特征:聚类假设存在一张200×200像素的灰度图像,它由40000个RGB灰度级组成,我们通过K-Means可以将这些像素点聚类成K个簇,然后使用每个簇内的质心点来替换簇内所有的像素点,这样就能实现在不改变分辨率的情况下量化压缩图像颜色,实现图像颜色层级分割。OpenCV原创 2020-07-22 16:53:22 · 6593 阅读 · 0 评论 -
python-opencv人脸检测和识别实现(有代码和资源)
人脸识别1人脸检测实现import numpy as npimport cv2# 实例化人脸分类器face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')# 读取测试图片img = cv2.imread('faces.jpg',cv2.IMREAD_COLOR)# 将原彩色图转换成灰度图gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 开始在灰度图上检原创 2020-07-21 15:47:24 · 8342 阅读 · 2 评论 -
python +keras实现图像分类(入门级例子讲解)
一.项目描述数据集来源于kaggle猫狗大战数据集。训练集有25000张,猫狗各占一半。测试集12500张。希望计算机可以从这些训练集图片中学习到猫狗的特征,从而使得计算机可以正确的对未曾见过的猫狗图片进行分类。这就是图像分类问题,计算机视觉研究领域之一,计算机通过学习图像本身的特征将不同类别的图像区分开来。二.评价指标二分类评价指标binary_crossentropy:交叉熵只有yi和ŷ i是相等时,loss才为0,否则loss就是为一个正数。而且,概率相差越大,loss就越大。这个度量概原创 2020-07-19 10:14:44 · 11754 阅读 · 11 评论 -
python批量读取文件夹的图片并处理成模型输入格式
我们知道在训练图像模型时,需要从文件夹里读取图片。这里演示下,怎样从文件夹里批量读取图片,并处理成我们想要的x,y 即特征和标签。输入维度理解以卷积神经网络为例子。我们知道卷积神经网络conv2d输入数据的形状为(batch_size,height,width,depth),其中第一维表示图像的batch大小,我们常设定为None,其他三个维表示图像的各个属性,即高度,宽度和深度。深度就是色彩通道的数量。例如,RGB图像的深度为3,而灰度图像的深度为1。通俗理解。一张图片。我们输入的格式为(高,原创 2020-07-08 15:06:46 · 8170 阅读 · 3 评论 -
python+opencv代码给证件照换底色(别再用PS啦)
CSDN博客中关于修改证件底色的博文还不少。昨天看到一个小姐姐的博文很有意思。于是结合自己掌握的,写下自己的。我不管,自己的博文才方便查找。读取图片import cv2import numpy as np# 读取照片image=cv2.imread('zhanjian.jpg')#显示cv2.imshow('image',image)#无限等待cv2.waitKey(0)#销毁内存cv2.destroyAllWindows()图片来源于网图,如有侵权,请联系我删除。修改图片原创 2020-07-07 09:56:04 · 9416 阅读 · 18 评论 -
二十行代码去除图片水印(别再找工具修图啦)
别在找工具修图啦,用代码吧图片上常常有多余信息,如水印等,常常困扰啦多少痴男怨女。在简书上看到一段有意思的内容。于是将它搬啦过来。原地址:https://www.meiwen.com.cn/subject/dofckqtx.html。消除水印原图和效果图:左边为原图,右边效果图代码import cv2import numpy as nppath="10.jpg"img=cv2.imread(path,1)hight,width,depth=img.shape[0:3]原创 2020-07-01 17:41:07 · 9701 阅读 · 1 评论 -
36篇博文带你学完opencv :python+opencv进阶版学习笔记目录
基础版学习笔记传送门python3+opencv学习笔记汇总目录(适合基础入门学习)进阶版笔记项目opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像头并实时不断截屏,读取视频并截图)opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并opencv进阶学习笔记3:像素运算和图像亮度对比度调节opencv进阶学习笔记4:ROI和泛洪扩充opencv进阶学习笔记5:图像模糊操作,图像锐化,边缘保留滤波EPF(原创 2020-07-17 15:04:24 · 6395 阅读 · 4 评论 -
opencv进阶学习笔记14:分水岭算法 实现图像分割
基础版学习笔记目录:python3+opencv学习笔记汇总目录(适合基础入门学习)分水岭算法原理分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。其他图像分割方法,如阈值,边缘检测等都不会考虑像素在空间关系上的相似性和封闭性这一概念,彼此像素间互相独立,没有统一性。分水岭算法较其他分割方法更具有思想性,更符合人眼对图像的印象。任意的灰度图像可以原创 2020-07-17 14:50:57 · 2119 阅读 · 0 评论 -
opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
基础版学习笔记:python3+opencv学习笔记汇总目录(适合基础入门学习)基础版形态学:opencv学习笔记12:图像腐蚀和图像膨胀opencv学习笔记13:形态学变换(开运算,闭运算,梯度运算)opencv学习笔记14:图像礼帽,图像黑帽图像膨胀使用卷积核对二值图像进行遍历,卷积核对应的图像像素点只要有一个为1,则值为1,否则为0.即用卷积核对应的最大元素替换掉当前中心像素。膨胀作用:对象大小增加一个像素,平滑对象边缘,减少或者填充对象之间的距离。使用方法:dilate结果=原创 2020-07-17 10:38:30 · 1616 阅读 · 0 评论 -
opencv进阶学习笔记12:轮廓发现和对象测量
基础版笔记目录:python3+opencv学习笔记汇总目录(适合基础入门学习)轮廓发现1轮廓发现介绍基础版讲解:opencv学习笔记20:图像轮廓2轮廓发现APIcv2.findContours()cv2.drawContours()通过cv2.findContours() 查找轮廓在哪里,再通过 cv2.drawContours()将查找的轮廓绘制出来。contours,hierarchy=cv2.findContours(image,mode,method)contours:轮原创 2020-07-16 16:00:02 · 2020 阅读 · 0 评论 -
opencv进阶学习笔记11:cannny边缘检测,直线检测,圆检测
基础版笔记传送门python3+opencv学习笔记汇总目录(适合基础入门学习)cannny边缘检测基础版边缘讲解链接:opencv学习笔记18:canny算子边缘检测原理及其函数使用1cannny算法介绍非极大值抑制:在获得梯度和方向,去除所有不是边界的点。实现方向:逐渐遍历像素点,判断当前像素点是否是周围像素点中具有相同方向梯度的最大值。是保留,不是则为0.cannny代码实现edges=cv2.Canny(image,threshold1,threshold2)edges:处理原创 2020-07-16 14:17:45 · 5611 阅读 · 0 评论 -
opencv进阶学习笔记10:图像金字塔和图像梯度
基础版笔记传送门:python3+opencv学习笔记汇总目录(适合基础入门学习)图像金字塔变小变大原理见基础版链接,基础版图像金字塔讲解:opencv学习笔记19:图像金字塔和图像拉普拉斯金字塔 (用于图像放大和缩小)向下取样实现,变小dst=cv2.pyrDown(src)dst:取样结果src:原始图像import cv2 as cvimport numpy as npdef pyramid_demo(image): level = 3 temp =原创 2020-07-15 10:40:26 · 1911 阅读 · 0 评论 -
opencv进阶学习9:图像阈值大全,图像二值化,超大图像二值化
基础版笔记链接:python3+opencv学习笔记汇总目录(适合基础入门学习)基础版二值化讲解opencv学习笔记10:阈值分割图像二值化原理二值化方法:全局阈值,局部阈值具体原理见上面链接图像二值化实现全局阈值通常情况,我们一般不知道设定怎样的阈值thresh才能得到比较好的二值化效果,只能去试。如对于一幅双峰图像(理解为图像直方图中存在两个峰),我们指定的阈值应尽量在两个峰之间的峰谷。这时,就可以用第四个参数THRESH_OTSU,它对一幅双峰图像自动根据其直方图计算出合适的阈值(原创 2020-07-15 09:40:38 · 3171 阅读 · 2 评论 -
opencv进阶学习笔记8:模板匹配
基础版笔记传送门:添加链接python3+opencv学习笔记汇总目录(适合基础入门学习)描述模板匹配原理模板匹配(TemplateMatching)就是在一幅图像中寻找和模板图像(template)最相似的区域,该方法原理简单计算速度快,能够应用于目标识别,目标跟踪等多个领域。模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。首先需要一个模板图像T(子图像)和一个待检测的图像(源图像S)在待检测图像从左到右,从上到下计算模板图像与重叠子图像的匹配度,匹配度越高,两者相同的可能性越大。原创 2020-07-14 17:52:04 · 1482 阅读 · 0 评论 -
opencv进阶学习笔记7:直方图,直方图均衡化,直方图比较,直方图反向投影
基础版传送门:python3+opencv学习笔记汇总目录(适合基础入门学习)直方图基础讲解:opencv学习笔记21:直方图和掩膜 原理及其应用图像直方图numpy实现函数:hist(数据源,像素级)数据源:图像,必须是一维数组像素级:一般是256,指[0-255]np.raval()可以实现多维数组转一维。import cv2 as cvimport numpy as npfrom matplotlib import pyplot as pltdef plot_demo(im原创 2020-07-13 17:24:23 · 1581 阅读 · 0 评论 -
opencv进阶学习笔记6:使用鼠标在图像上绘制矩形框或者多边形框
基础版笔记传送门:python3+opencv学习笔记汇总目录(适合基础入门学习)感兴趣区域传统绘制:opencv学习笔记5:感兴趣区域ROIopencv 鼠标事件1.opencv 鼠标事件类型import cv2d=[i for i in dir(cv2) if 'EVENT' in i]print(d)'EVENT_FLAG_ALTKEY':代表拖拽事件。按住alt键不放'EVENT_FLAG_CTRLKEY'按住ctrl键不放'EVENT_FLAG_LBUTTON'按住左键拖原创 2020-07-13 11:08:34 · 5559 阅读 · 4 评论 -
opencv进阶学习笔记5:图像模糊操作,图像锐化,边缘保留滤波EPF(图像滤镜)
基础版传送门:python3+opencv学习笔记汇总目录(适合基础入门学习)模糊操作方法:均值模糊,中值模糊,自定义模糊模糊原理:基于离散卷积,不同的卷积得到不同的卷积效果,模糊是卷积的表象。基础讲解链接opencv学习笔记11:图像滤波(均值,方框,高斯,中值)卷积原理示意图:(2乘1+3乘以1+6乘以1)除以3=3边缘2未被卷积保留均值模糊import cv2 as cvimport numpy as npdef blur_demo(image):#均值滤波模糊原创 2020-07-12 17:02:36 · 3075 阅读 · 0 评论 -
opencv进阶学习笔记4:ROI和泛洪扩充
基础版传送门链接:python3+opencv学习笔记汇总目录(适合基础入门学习)ROI基础版ROI讲解:opencv学习笔记5:感兴趣区域ROIROI 感兴趣区域从被处理的图像以方框,圆,不规则多边形等勾勒出我们感兴趣的区域。可以通过各种算子(Operator)和函数来求得感兴趣的区域。import cv2 as cvimport numpy as npprint("--------- Hello Python ---------")src = cv.imread("1.jpg")原创 2020-07-12 09:43:51 · 2421 阅读 · 0 评论 -
opencv进阶学习笔记3:像素运算和图像亮度对比度调节
基础版传送门:python3+opencv学习笔记汇总目录(适合基础入门学习)像素运算要求两张图大小,以及格式(np.uint8)完全一致,否则报错。算术运算有加减惩除。应用它调节亮度和对比度。逻辑运算:与或非,应用:遮罩层控制1.像素算术运算加法运算cv2.add(m1, m2)import cv2 as cvimport numpy as npdef add_demo(m1, m2): dst = cv.add(m1, m2) cv.imshow("add_dem原创 2020-07-10 15:20:03 · 1580 阅读 · 0 评论 -
opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并
基础部分传送门python3+opencv学习笔记汇总目录(适合基础入门学习)Numpy操作图像1.遍历图像每一个像素,并颜色取反import cv2 as cvimport numpy as npdef access_pixels(image): print(image.shape); height = image.shape[0] width = image.shape[1] channels = image.shape[2] print("wid原创 2020-07-10 10:35:29 · 3000 阅读 · 3 评论 -
opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像头并实时不断截屏,读取视频并截图)
python +opencv 用法大全。这里简单介绍下,如何打开摄像头,如何截屏。如何自动实时截屏。如何读取视频文件并截屏。打开摄像头import cv2import numpy as npdef video_demo(): capture = cv2.VideoCapture(0)#0为电脑内置摄像头 while(True): ret, frame = capture.read()#摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频原创 2020-07-09 11:04:14 · 21042 阅读 · 4 评论 -
36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版)
经过几天的学习,opencv基础部分学习完啦。整理出来。OpenCVopencv学习笔记1:图片读入,显示与保存(有代码)opencv学习笔记2:图像处理基础opencv学习笔记3:像素处理opencv学习笔记4:获取图像属性opencv学习笔记5:感兴趣区域ROIopencv 学习笔记6:通道的拆分与合并opencv学习笔记7:图像加法与图像融合opencv学习笔记8:类型转换opencv 学习笔记9:图像缩放与图像翻转opencv原创 2020-07-08 10:59:51 · 6539 阅读 · 1 评论 -
opencv学习笔记22:傅里叶变换,高通滤波,低通滤波
傅里叶变换原理任何连续的周期信号,都可以由一组适当的正弦曲线组合而成。下列左上图由其他三图构成。左图经过傅里叶变换,由时域图转换到频域图。相互可逆相位:不是同时开始的一组余弦函数,在叠加时要体现刚开始的时间。sin(wx+a)中a是相位numpy实现傅里叶变换numpy.fft.fft2()实现傅里叶变换,返回的是一个复数数组。numpy.fft.fftshift()将零频域分量移到频谱中心白色为fft.fft2得到的低频部分。将低频部分移到中心。20*np.log(np.ab原创 2020-07-08 10:34:58 · 6186 阅读 · 2 评论 -
opencv学习笔记21:直方图和掩膜 原理及其应用
直方图概念如图:下面黑色图为上面图的直方图横坐标:图像中各个像素点的灰度级纵坐标:具有该灰度级的像素个数。归一化直方图横坐标:图像中各个像素点的灰度级纵坐标:出现该灰度级的概率。DIMS:使用参数的数量dims=1:灰度直方图,仅仅考虑灰度的情况。还有其他考虑亮度的BINS:参数子集的数目bins=256: 如灰度是256. 表示0-255缩小数字表示将临近值合并。RANGE:统计灰度值的范围,一般为[0-255]最小值0:黑色最大值255:白色...原创 2020-07-07 15:58:39 · 2226 阅读 · 3 评论 -
opencv学习笔记20:图像轮廓
图像轮廓Contours:轮廓轮廓是将没有连着一起的边缘连着一起。边缘检测检测出边缘,边缘有些未连接在一起。注意问题1.对象为二值图像,首先进行阈值分割或者边缘检测。2.查找轮廓需要更改原始图像,通常使用原始图像的一份进行拷贝。3.在opencv里,是从黑色背景里找白色。因此对象必须是白色,背景为黑色。方法 cv2.findContours() cv2.drawContours() 通过cv2.findContours() 查找轮廓在哪里,再通过 cv2.drawContour原创 2020-07-06 19:02:27 · 1606 阅读 · 0 评论 -
opencv学习笔记19:图像金字塔和图像拉普拉斯金字塔 (用于图像放大和缩小)
图像金字塔原理图像金字塔:只不同分辨率,不同尺寸子图构成的集合。取样向下取样:有一个图像G0,对它重新采样,得到分辨率小些的G1,以此类推。向上取样:有一个图像G3,然后变成像素更多的G2,以此类推。向下取样方法高斯卷积核:自身像素点取36,近一些的取24,越远的像素越低。最后除以像素点个数删除偶数行列:使尺寸变为原始四分之一。向下取样会丢失一些信息。向上取样方法如原始图像45,12,3,89,149。一轮向上取样后变为右边。因为含义0,在使用卷积核时,等于一个像素点被稀释掉原创 2020-07-06 15:38:30 · 1842 阅读 · 2 评论 -
opencv学习笔记18:canny算子边缘检测原理及其函数使用
canny边缘检测原理去噪:边缘检测容易受到噪声的影响,在此之间,先去噪,通常采用高斯滤波器。opencv学习笔记11:图像滤波(均值,方框,高斯,中值)梯度:对去噪后的图像采用sobel算子计算梯度和方向。这里的梯度不同于前面值只计算大小,这里还需计算方向。梯度大小和方向公式见下梯度的方向一般与边界垂直,分为四类:垂直,水平,和两个对角线。非极大值抑制:在获得梯度和方向,去除所有不是边界的点。实现方向:逐渐遍历像素点,判断当前像素点是否是周围像素点中具有相同方向梯度的最大值。是保留,不是原创 2020-07-06 14:30:47 · 2521 阅读 · 0 评论 -
opencv学习笔记17:梯度运算之laplacian算子及其应用
laplacian算子理论前文介绍了sobel算子及其函数使用和scharr算子及其函数使用使用方法不同算子比较sobel,和scharr算子:右边121列-左边121列。右边-3,10,3列减去左边-3,10,3列。y轴类型laplacian算子:各个不为0的值和中间值相减。而且不用区分dx,dy啦laplacian算子应用o=cv2.imread(‘image\lena.bmp’,cv2.IMREAD_GRAYSCALE)#cv2.CV_64F 调高数据类型,使数据范围更大一原创 2020-07-06 10:42:34 · 2182 阅读 · 0 评论 -
opencv学习笔记16:梯度运算之scharr算子及其函数使用
前文介绍了sobel算子opencv学习笔记14:sobel算子及其函数使用scharr算子理论系数和sobel不一样,其他一样。scharr函数使用dst=cv2.Scharr(src,ddpetph,dx,dy)dst:处理结果src:源图像ddpetph:图像深度dx:x轴方向,dy:y轴方向实际操作中,计算梯度值可能会出现负值而被截断。通常处理的图像类型为np.unit8,处理后的结果也是该类型,所有负数截断为0,发生信息丢失。所以,在计算时,使用更高的数据类型cv2.C原创 2020-07-06 10:13:56 · 4889 阅读 · 1 评论 -
opencv学习笔记15: 梯度运算之sobel算子及其函数使用
python+opencvsobel算子理论从不同方向计算梯度如图从x轴计算p5的梯度。左边是卷积核系数如果右边这一列和左边这一列相差很大,则计算出来的P5x很大,可以认为在边界上。否则不在边界上。用于求出图像边界也可以从y轴计算梯度如果上下相差很大,则计算出来的值很大,则认为是边界,否则不是。整个图像梯度sobel函数使用dst=cv2.Sobel(src,ddepth,dx,dy,[kszie])dst:处理结果src:原始图像ddpepth:处理图像的深度.-1表示与原创 2020-07-06 09:35:59 · 9984 阅读 · 0 评论 -
opencv学习笔记14:图像礼帽,图像黑帽
图像礼帽图像礼帽 也叫图像顶帽礼帽图像=原始图像-开运算图像得到噪声图像开运算:先腐蚀再膨胀使用对象:二值图像使用方法:morphologyExcv2.MORPH_TOPHAT结果=cv2.morphologyEx(原始图像,cv2.MORPH_TOPHAT,卷积核)卷积核示例:k=np.ones((10,10),np.uint8)import cv2import numpy as npo=cv2.imread("tophat.bmp",cv2.IMREAD_UNCHANGED)原创 2020-07-05 20:08:07 · 2086 阅读 · 1 评论 -
opencv学习笔记13:形态学变换(开运算,闭运算,梯度运算)
形态学里把腐蚀和膨胀单独拿了出来,其他操作(保括膨胀和腐蚀的组合操作)都叫形态学变换。opencv里有包:cv2.morphologyEx()morphology :译文 形态学使用python +opencv讲解 开运算开运算:对图像先进行腐蚀,然后对腐蚀后的图进行膨胀 morphologyEx运算结果=cv2.morphologyEx(源图像img,cv2.MORPH_OPEN,卷积核k)cv2.MORPH_OPEN:开运算import cv2import numpy as np原创 2020-07-05 15:16:17 · 4181 阅读 · 3 评论 -
opencv学习笔记12:图像腐蚀和图像膨胀
语言:python+opencv 为什么使用图像腐蚀和图像膨胀如图,使用图像腐蚀进行去噪,但是为压缩噪声。对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原样形状。 图像腐蚀腐蚀主要针对的是二值图像,如只有0和1两个值,两个输入对象:1原始二值图像,2卷积核使用卷积核遍历原始二值图像,如果卷积核对应的元素值均为1,其值才为1,否则为0。如图,红色为卷积核。腐蚀后的结果示意图见下面,效果是将边缘抹掉一部分。 使用方法:erode 中文翻译:侵蚀 处理结果=cv2.erode(原始原创 2020-07-05 14:14:47 · 2546 阅读 · 0 评论 -
opencv学习笔记11:图像滤波(均值,方框,高斯,中值)
为什么要使用滤波消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。如下图,左图带有椒盐噪声,右图为使用中值滤波处理后的图片。图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。python +opencv讲解均值滤波含义如图:如果我们想对红色点进行处理,则它新值等于周围原创 2020-07-05 10:19:19 · 2814 阅读 · 4 评论