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

图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)

@TOC 前言 在Python中,Pillow是一个强大的图像处理库,它是PIL(Python Imaging Library)的一个分支,支持"jpeg","png","bmp","gif","ppm...下面我举几个会经常用的滤镜: from PIL import Image,ImageFilter # 创建一个图片对象 img = Image.open('images/bg.jpg') # 应用高斯模糊滤镜...() # 应用细节增强滤镜 detail_img = img.filter(ImageFilter.DETAIL) # detail_img.show() 输出:依次输出为高斯模糊滤镜,轮廓检测滤镜,锐化滤镜...ImageDraw PIL.ImageDraw 模块提供了一系列的绘图方法,通过该模块可以创建一个新的图形,或者在现有的图像上再绘制一个图形,从而起到对原图注释和修饰的作用,也可以理解为获取一个画布。...ImageDraw常用方法 text():在图像上绘制文字,需要结合ImageFont模块使用 line():绘制直线 eclipse():绘制椭圆形 rectangle():绘制矩形 polygon(

15810

VC++中使用OpenCV进行形状和轮廓检测

如下面的图像中Shapes.png中有三角形、矩形、正方形、圆形等,我们如何去区分不同的形状,并且根据轮廓进行检测呢?...1、首先我们对原始图像进行预处理,将原始图形灰度化、高斯模糊、Canny边缘检测、膨胀化处理,最后得到一副膨胀的图形 2、基于这幅膨胀的图像,我们调用findContours函数从膨胀化的二值图像中检索出所有的轮廓...),消除噪声;计算轮廓周长(封闭的或者非封闭的)或曲线长度,以指定精度逼近多边形曲线,计算顶点集合或灰度图像的非零像素的右上边界矩形,获取边界包围盒;然后轮廓多边形的角落(顶点)个数objCor,根据objCor...判断轮廓多边形的形状类型,特别注意矩形和正方形的区别,我们根据轮廓的宽高比来区分,当轮廓宽高比大于0.95或者小于1.05时我们可以认定轮廓为正方形 4、最后我们在第三步基础上,绘制轮廓或填充轮廓,颜色为粉色...;绘制边界包围盒,颜色为绿色;在边界包围盒左上方往上5像素的位置,绘制其形状的描述文字 C++示例代码 示例代码如下: #include #include

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

    OpenCV Android端使用,基本版

    3.2.2 GaussianBlur 高斯模糊 对数据进行高斯模糊可以降噪。模糊程度根据Size的参数决定。...Mat blur = new Mat(); Imgproc.GaussianBlur(mat, blur, new Size(5, 5), 0);// 执行高斯模糊 第一个参数:输入的图像 第二个参数:...输出的结果图像 第三个参数:模糊的尺寸大小 第四个参数:X轴方向的高斯核标准偏差。...Imgproc.fillPoly(m, ge, Scalar.all(255)); // 将指定区域绘制为白色 第一个参数img:要绘制的Mat对象,多边形将会绘制在该Mat中。...第二个参数pts:形状的坐标点集合。 第三个参数color:填充的颜色。 第四个参数lineType:多边形边界线的类型(可选)。 第五个参数shift:顶点坐标中的分数位数(可选)。

    1.4K20

    万字长文,值得收藏参考的OpenCV C++基础代码

    本节介绍如何对图像的像素进行操作,包括与、或、非、异或,矩形在图像中的绘制。...,为负表示多边形的填充 imshow("多边形绘制", canvas); } 第一种方式,通过标记各个点,然后存储到容器中,之后对容器中的点进行操作。...填充多边形调用fillPoly,绘制多边形调用polylines。第二种方式,使用一个API接口绘制。通过一个容器中的存储的点组成的另一个容器。 17 鼠标操作与响应 鼠标事件响应与绘制!...imshow("图像卷积操作", dst); } 28 高斯模糊 中心的数值最大,离中心距离越远,数值越小。..., Size(5, 5), 15); imshow("高斯模糊", dst); //参数1表示初始图像,参数2表示处理后的图像,参数3表示高斯矩阵大小 正数而且是奇数, //参数

    1.3K20

    万字长文,值得收藏参考的OpenCV C++基础代码

    本节介绍如何对图像的像素进行操作,包括与、或、非、异或,矩形在图像中的绘制。...,为负表示多边形的填充 imshow("多边形绘制", canvas); } 第一种方式,通过标记各个点,然后存储到容器中,之后对容器中的点进行操作。...填充多边形调用fillPoly,绘制多边形调用polylines。第二种方式,使用一个API接口绘制。通过一个容器中的存储的点组成的另一个容器。 17 鼠标操作与响应 鼠标事件响应与绘制!...imshow("图像卷积操作", dst); } 28 高斯模糊 中心的数值最大,离中心距离越远,数值越小。高斯卷积数学表达式说明: ?...", dst); //参数1表示初始图像,参数2表示处理后的图像,参数3表示高斯矩阵大小 正数而且是奇数, //参数4表示西格玛x为15 西格玛y为15 } 29 高斯双边模糊 边缘保留的滤波算法

    1.1K62

    OpenCV SIFT特征算法详解与使用

    星标或者置顶【OpenCV学堂】 干货文章与技术教程第一时间送达 SIFT概述 SIFT特征是非常稳定的图像特征,在图像搜索、特征匹配、图像分类检测等方面应用十分广泛,但是它的缺点也是非常明显,就是计算量比较大...上述的是通过图像金字塔实现了多分辨率,如果我们在每一层高斯金字塔图像生成的时候,给予不同的sigma值,这样不同的sigam就会产生不同模糊版本的图像,在同一层中就是实现不同尺度的模糊图像,再结合高斯金字塔...同一张图像不同尺度高斯模糊如下: ?...为了在每层图像中检测 S 个尺度的极值点,DoG 金字塔每层需 S+2 张图像,因为每组的第一张和最后一张图像上不能检测极值,DoG 金字塔由高斯金字塔相邻两张相减得到,则高斯金字塔每层最少需 S+3...关键点方向指派 前面我们已经详细解释了SIFT特征点是如何提取的,有了特征点之后,我们对特征点周围的像素块计算角度方向直方图,在计算直方图之前首先需要对图像进行梯度计算,这里可以使用SOBEL算子,然后根据

    8.7K33

    我常被灵魂拷问的20+个OpenCV初学错误

    点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 错误集锦 自从我在B站放置了免费课程之后,我也接受各种吐槽,受到广大OpenCV爱好者各种问题灵魂拷问,最常见的说话方式之一就是...针对每个函数的应用,我都贴合实际的应用场景,做到学以致用,学而化之。真正的原理与代码教学想结合,我敢说这门课程是全网唯一不用PPT而教会你图像与OpenCV编程的好课。  ...我写不出什么励志名篇的鸡汤文,而不好跟大家侃侃而谈我对技术反思,只好用十年OpenCV经验,努力录制一门免费OpenCV快速入门视频课程给大家,需要者自取,视频的观看地址在我的B站地址如下: C...12.图像色彩空间转换 13.图像像素值统计 14.图像几何形状绘制 15.随机数与随机颜色 16.多边形填充与绘制 17.鼠标操作与响应 18.图像像素类型转换与归一化 19.图像放缩与插值 20....图像翻转 21.图像旋转 22.视频文件/摄像头使用 23.视频处理与保存 24.图像直方图 25.二维直方图 26.直方图均衡化 27.图像卷积操作 28.高斯模糊 29.高斯双边模糊 30.案例:实时人脸检测

    67130

    数字图像处理Matlab函数全汇总

    Imrotate 旋转图像 Imtransform 对图像应用几何变换 Intline 整数坐标线绘制算法 Makersampler 创建重取样器结构 Maketform 创建几何变换结构(TFORM...) Pixeldup(DIPUM)在两个方向上复制图像的像素 Tformarray 对N-D数组应用几何变换 Tformfwd 应用正向几何变换 Tforminv 应用反向几何变换 Vstformfwd...Connectpoly(DIPUM) 连接多边形的顶点 Diameter(DIPUM) 测量图像区域的直径 Edge(DIPUM) 在一幅亮度图像中寻找边缘 Fchcode(DIPUM) 计算边界的freeman...对ROI进行滤波 Roipoly 选择多边形ROI 彩色映射处理 Brighten 加亮或加暗彩色映射 Cmpermute 在彩色映射中重排颜色 Cmunique 寻找唯一的彩色映射颜色和相应的图像...Colormap 设置或得到彩色查找表 Imapprox 以很少的颜色近似被索引的图像 Rgbplot 绘制RGB彩色映射分量 彩色空间转换 Applyform 应用独立于设备的彩色空间变换 Hsv2rgb

    1.3K20

    【深度学习】实例第二部分:OpenCV

    = cv2.blur(im, (3, 3)) cv2.imshow("mean_blur", im_mean_blur) # 高斯滤波 # 第三个参数为高斯核在X方向的标准差 im_gaussian_blur...图像轮廓是图像中非常重要的一个特征信息,通过对图像轮廓的操作,我们能够获取目标图像的大小、位置、方向等信息。一个轮廓对应着一系列的点,这些点以某种方式表示图像中的一条曲线。...因此,对象必须是白色的,背景必须是黑色的 在OpenCV 4.x中,函数cv2.findContours()仅有两个返回值 绘制轮廓:drawContours函数 语法格式:image=cv2.drawContours...该编码格式具有较好的兼容性,但产生的文件较大,文件扩展名为.avi。...【任务描述】 我们对图像中的目标进行分析和检测时,目标往往具有一定的倾斜角度,自然条件下拍摄的图像,完全平正是很少的。

    1.8K10

    讲解python图像边缘检测

    ,并对其应用Canny边缘检测算法,最终显示原始图像和检测到的边缘。...然后,我们应用高斯滤波和Canny边缘检测算法来提取图像的边缘。接下来,我们使用轮廓检测函数cv2.findContours()找到边缘的轮廓,并将其绘制到原始图像上。...高斯模糊是一种常用的图像平滑技术,它可以减少图像中的噪声和细节,使图像在一定程度上变得模糊。...实现高斯模糊的具体步骤如下:计算高斯核。高斯核是一个二维高斯分布函数在图像上的离散近似。高斯核的大小和标准差决定了模糊的程度。在处理图像的每个像素时,将该像素和其周围像素按照高斯核进行加权平均。...)cv2.waitKey(0)cv2.destroyAllWindows()在示例中,我们读取了一张图像,并使用cv2.GaussianBlur()函数对其进行了高斯模糊处理。

    34410

    3D内容创作新篇章:DREAMGAUSSIAN技术解读,已开源

    3.2 Efficient Mesh Extraction 作者探讨了如何将生成的3D高斯模型转换为多边形网格,并进一步细化纹理。到目前为止,从3D高斯模型提取多边形网格仍是一个未探索的问题。...由于空间密度由大量的3D高斯模型描述,采用暴力方法查询密集的3D密度网格可能既缓慢又低效。此外,如何在3D中提取外观也不清楚,因为颜色混合只在投影的2D高斯模型中定义。...在像SDS这样模糊的指导下,传播到每个mipmap级别的梯度会导致过饱和的颜色块。因此,作者寻求更明确的指导来微调模糊纹理。 作者从SDEdit的图像到图像合成和重建设置中汲取灵感。...本文的方法展示了如何有效地缩短3D内容创建的时间,并减少了对专业3D建模技能的依赖,从而使非专业用户也能参与到3D资产的创作中来。...未来,作者期待看到这一方法如何被进一步发展和应用于更广泛的场景和应用中,为创造更加丰富和多样的虚拟世界提供强大的支持。

    74810

    OpenCV中的光流及视频特征点追踪

    可以找到它们的大小和方向,然后对结果进行颜色编码以实现更好的可视化。 在HSV图像中,方向对应于图像的色调,幅度对应于价值平面。...- winsize:3 平均窗口大小,数值越大,算法对图像的鲁棒性越强 - iterations:15 迭代次数 - poly_n:5 像素邻域的参数多边形大小,用于在每个像素中找到多项式展开式;较大的值意味着图像将使用更平滑的曲面进行近似...可以找到它们的大小和方向,然后对结果进行颜色编码以实现更好的可视化。 # 在HSV图像中,方向对应于图像的色调,幅度对应于价值平面。...# - winsize:3 平均窗口大小,数值越大,算法对图像的鲁棒性越强 # - iterations:15 迭代次数 # - poly_n:5 像素邻域的参数多边形大小,用于在每个像素中找到多项式展开式...;较大的值意味着图像将使用更平滑的曲面进行近似,从而产生更高的分辨率、鲁棒算法和更模糊的运动场;通常多边形n=5或7。

    99300

    基于OpenCV的车辆变道检测

    本期教程我们将和小伙伴们一起研究如何使用计算机视觉和图像处理技术来检测汽车在行驶中时汽车是否在改变车道!...图像处理 如果帧的分辨率很高,则会减慢执行的操作,此外,该帧还包含噪声,可以使用模糊降低噪声,这里使用高斯模糊。...等高线可以是点,边,多边形等,因此在绘制等高线时,我们进行多边形近似,以找到边的长度和区域的面积。...使用Greenline测量角度,并在框架中的汽车上绘制矩形 ? 弹出警报(作者提供的图片) ? 输出 06. 总结 在本教程中,使用车道变更检测方法探索了智能汽车导航的小型演示。...计算机视觉正在迅速发展,其应用不仅在汽车的本地导航中而且在火星导航和产品检查领域中也在不断发展,甚至医疗应用也正在开发中,并可以在早期用于检测X射线图像中的癌症和肿瘤阶段。

    1.3K10

    基于OpenCV的车辆变道检测

    本期教程我们将和小伙伴们一起研究如何使用计算机视觉和图像处理技术来检测汽车在行驶中时汽车是否在改变车道!...图像处理 如果帧的分辨率很高,则会减慢执行的操作,此外,该帧还包含噪声,可以使用模糊降低噪声,这里使用高斯模糊。...等高线可以是点,边,多边形等,因此在绘制等高线时,我们进行多边形近似,以找到边的长度和区域的面积。...使用Greenline测量角度,并在框架中的汽车上绘制矩形 ? 弹出警报(作者提供的图片) ? 输出 06. 总结 在本教程中,使用车道变更检测方法探索了智能汽车导航的小型演示。...计算机视觉正在迅速发展,其应用不仅在汽车的本地导航中而且在火星导航和产品检查领域中也在不断发展,甚至医疗应用也正在开发中,并可以在早期用于检测X射线图像中的癌症和肿瘤阶段。

    1.2K10

    历时七个月整理出来的《OpenCV4系统化学习路线图》

    两种语言,充分考虑了初学者对各种语言的上手问题,由浅入深、层次递进的讲述OpenCV各个模块关键知识点与相关API函数,零基础 开始学习OpenCV中最常用的八个模块内容 01 图像与视频I/O模块 02...同时在各个关键节点通过案例教学与代码分析,帮助厘清相关知识点的运用,达到学以致用,培养编程能力,提升个人竞争力!...图像均值与高斯模糊 023. 中值模糊 024. 图像噪声 025. 图像去噪声 026. 高斯双边模糊 027. 均值迁移模糊 028. 图像积分图算法 029. 快速的图像边缘滤波算法 030....图像金字塔 038. 拉普拉斯金字塔 039. 图像模板匹配 040. 二值图像介绍 041. OpenCV中的基本阈值操作 042. OTSU二值寻找算法 043....二值图像分析—对轮廓圆与椭圆拟合 055. 二值图像分析—凸包检测] 056. 二值图像分析–直线拟合与极值点寻找 057. 二值图像分析—点多边形测试 058.

    2.6K31

    低分辨率和畸变严重的棋盘格角点的自动检测

    ,该方法适用于透视相机和全向相机,本文对现有的角点检测方法进行了评价,分析了其在检测模糊和畸变严重图像集中角点方面的优缺点,从分析结果开始,提出、实施和测试了几项改进,实验表明,该算法能够在低至VGA分辨率的全向图像上一致性地识别...,然后尝试将它们合并回原始图案,作为一种基于区域的方法,它的优点是比基于直线的方法对噪声和模糊图像更具鲁棒性,下面是对该算法重要部分的逐步分析,在本文后续介绍中,我们将根据我们的需要对其进行调整。...•对于每个候选对,关注它们所属的四边形,并绘制两条穿过各自四边形边缘中间部分的直线(见图6) •如果候选角点和源角点位于以这种方式绘制的四条直线中的每一条的同一侧(这对应于图6中的黄色阴影区域),则角点成功匹配...E.多边形近似水平的自适应 提取的轮廓被输入到多边形近似器算法中,该近似算法尝试将多边形进行四边形拟合,根据近似多边形偏离真实轮廓的程度(偏差阈值),由于模糊,连接的棋盘格有时被错误地近似为单个四边形,...总结 本文分析了一种现有的在标定图像上识别棋盘格的方法,该方法是在Opencv实现的方法基础上经过调整和改进的方法的起点,对代码的增强大大增加了低分辨率和模糊图像的角点输出,始终返回80%或更多的角点,

    1.9K50

    历时七个月整理出来的《OpenCV4系统化学习路线图》

    两种语言,充分考虑了初学者对各种语言的上手问题,由浅入深、层次递进的讲述OpenCV各个模块关键知识点与相关API函数,零基础 开始学习OpenCV中最常用的八个模块内容 01 图像与视频I/O模块 02...同时在各个关键节点通过案例教学与代码分析,帮助厘清相关知识点的运用,达到学以致用,培养编程能力,提升个人竞争力!...图像均值与高斯模糊 023. 中值模糊 024. 图像噪声 025. 图像去噪声 026. 高斯双边模糊 027. 均值迁移模糊 028. 图像积分图算法 029. 快速的图像边缘滤波算法 030....图像金字塔 038. 拉普拉斯金字塔 039. 图像模板匹配 040. 二值图像介绍 041. OpenCV中的基本阈值操作 042. OTSU二值寻找算法 043....二值图像分析—对轮廓圆与椭圆拟合 055. 二值图像分析—凸包检测] 056. 二值图像分析–直线拟合与极值点寻找 057. 二值图像分析—点多边形测试 058.

    1.7K10

    针对环视摄像头的车道检测和估计

    当前产品级别的车辆环视摄像头模块(简称SVS)被用作低自动化应用的全景视图辅助工具。通过适当的统计分析,多个单目摄像头的信息可以在无需显著硬件更改的情况下对更高级别的车辆智能性提供很大帮助。...然后,我们提出了多项式拟合方案,并通过拟合误差的统计分析揭示了良好的车道和自车方向线索。在一个停车场的实际研究中,展示了在高度自动化应用中具有重要实际意义的良好车道检测和估计性能。...通过对滤波数据进行自适应多项式拟合和对拟合误差进行适当的统计分析,我们揭示了处理后的语义数据包含有关车道形状和自车方向的丰富信息。在停车场场景中,我们展示了具有重要实际可行性的车道检测和估计性能。...主要贡献在以下几个方面: i)数据处理在地平面进行(而不是在图像空间),可以自然地集成到自动驾驶应用中; ii)不需要作为先验信息的地图; iii)我们专注于统计推断,同时对每个处理阶段的数据的真值统计特性进行细致研究...图6说明了使用截断的高斯随机场模型进行空间过滤和使用指数衰减模型进行时间过滤。 图6: SVS填充多边形的空间-时间过滤 空间过滤是针对不同车辆方向(左、右、前和后)独立进行的。

    22310

    由Photoshop高反差保留算法原理联想到的一些图像增强算法。

    在执行模糊之前复制图像两个副本,其中一个执行模糊,另一个执行高反差保留,把高反差保留后的图层放置在模糊图层的上方,然后执行柔光混合模式,这样人物的线条就更清楚些。   ...那么高反差保留算法本身的执行过程是如何的呢,简单的表达就是:           高反差保留 = 原始图像 - 高斯模糊图像 + 127      加上127的目的是为了不让太多的像素由于不在有效范围内而导致图像太黑...* Stride); // 复制一个图层 GuassBlur(Clone, Width ,Height, Stride, Radius); // 对该图层经进行高斯模糊...,执行后,图像中较为平坦的地方变化不大,而边缘部分被模糊了,如果用原图 - 高斯模糊则得到的则是强化的边缘值,高反差保留在PS的英文版中对应的单词是HighPass,即高通,也就是这个意思。      ...我这里并不是想强调高反差保留的功能,虽然该算法也有着广泛的应用。 我这里就是想通过类似于原图 - 高斯模糊这样的过程来增强图像。

    1.7K60
    领券