OpenCV
文章平均质量分 91
OpenCV相关
薛定猫
talk is cheap,show me the code
展开
-
换个新头像(解决彩色图亮度不均衡)
文章目录前言处理对比度拉伸log变换Gamma校正直方图均衡化对比度自适应直方图均衡化(CLAHE)处理结果展示前言CSDN博客好久没有换过头像了,想换个新头像,在相册里面翻来翻去,然后就找到以前养的小宠物的一些照片,有一张特别有意思惊恐到站起来的金丝熊:这家伙不会要吃我吧没见过仓鼠的小猫:这啥玩意儿?好,就决定把这张图当自己的头像了一顿操作之后,把头像换成了这张照片这时候我想起来我学过图像处理,这用亮度变换搞一下不就可以了吗,搞起来!注意:一般对灰度图进行亮度变换的多一点,但是我这张原创 2021-12-30 15:56:37 · 10496 阅读 · 11 评论 -
OpenCV/kornia/Pillow/Halcon/NI Vision/MIL/*计算机视觉资料汇总
版权声明:本文为CSDN博主「libaineu2004」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/libaineu2004/article/details/88778170 OpenCV官网 https://opencv.org/releases.html https://docs.opencv.org/ https://answers.opencv.org/q.转载 2021-08-07 19:07:55 · 1607 阅读 · 0 评论 -
OpenCV学习笔记 - DNN模块使用(含源码、详细解释)
最近翻了翻以前做的一些笔记,碰巧翻到了2019年刚开始学习OpenCV时候做的笔记,不知不觉已经过去两年了,这两年从一个小白到现在不是太小白的小白o(╥﹏╥)o,在此分享一下,希望能帮助到更多的人。相关视频:https://www.bilibili.com/video/BV1FJ411T7W5?p=2文章目录DNN模块Googlenet模型实现图像分类介绍:代码:结果展示:SSD模型实现对象检测介绍:代码:结果展示:MobileNetSSD模型实时对象检测介绍:代码:结果展示:FCN模型图像分割介绍.原创 2021-08-04 12:53:46 · 6623 阅读 · 0 评论 -
opencv-python学习笔记(十五)—— 图像处理之分水岭变换
系列文章目录文章目录系列文章目录分水岭变换1. 理论2. OpenCV实现参考资料分水岭变换基于标记的图像分割cv.watershed()。1. 理论任何灰度图像都可以看作是一个地形表面,高亮度表示山峰和丘陵,低亮度表示山谷。如果用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水的上升,根据附近的山峰高度(梯度),来自不同山谷的水将会汇聚,显然不同的颜色将开始合并。为了避免这种情况,你可以在水汇合的地方建造屏障。继续注水和建造屏障的,直到所有的山峰都被水淹没。然后你创造的障碍就是分割结原创 2021-07-16 21:27:01 · 717 阅读 · 0 评论 -
opencv-python学习笔记(十四)—— 图像处理之霍夫变换
系列文章目录文章目录系列文章目录霍夫直线变换1. 理论2. OpenCV实现3. 概率霍夫变换扩展资料霍夫圆变换1. 理论2. OpenCV实现霍夫直线变换函数: cv.HoughLines(), cv.HoughLinesP()1. 理论如果你能以数学形式表示一个形状,霍夫变换就可以检测出该形状。它可以检测形状,即使该形状是破碎或扭曲了一点。我们来看看霍夫直线变换是如何工作的。一条直线可以表示成y=mx+cy = mx+cy=mx+c或参数式,为ρ=xcosθ+ysinθ\rho = x原创 2021-07-13 15:01:28 · 1127 阅读 · 18 评论 -
opencv-python学习笔记(十三)—— 图像处理之模板匹配
系列文章目录文章目录系列文章目录模板匹配1. 理论2. opencv实现3. 多物体模板匹配模板匹配函数: cv.matchTemplate(), cv.minMaxLoc()1. 理论模板匹配是一种在较大的图像中搜索和查找模板图像位置的方法。OpenCV为此提供了一个函数cv.matchTemplate()。它简单地将模板图像滑动到输入图像上(就像在2D卷积中一样),并在模板图像下比较输入图像的模板。在OpenCV中实现了几种比较方法。它返回一个灰度图像,其中每个像素表示该像素的邻域与模板匹配的原创 2021-07-12 12:31:51 · 751 阅读 · 0 评论 -
opencv-python学习笔记(十二)—— 图像处理之傅里叶变换
系列文章目录文章目录系列文章目录FFT1. 理论2. 傅里叶变换(Numpy)3. 傅里叶变换(Opencv)4. DFT的性能优化5. 为什么 Laplacian是高通滤波器?扩展资料FFT利用OpenCV对图像进行傅里叶变换、使用Numpy中可用的FFT函数、傅里叶变换的一些应用相关函数: cv.dft(), cv.idft() 等1. 理论采用傅里叶变换分析各种滤波器的频率特性。对于图像,采用二维离散傅里叶变换(DFT)来求频域。DFT的计算采用了快速傅里叶变换(FFT)算法。关于这些的细原创 2021-07-10 18:26:52 · 1104 阅读 · 2 评论 -
opencv-python学习笔记(十一)—— 图像处理之图像直方图
系列文章目录文章目录系列文章目录直方图1. 直方图基础理论计算直方图绘制直方图应用掩膜扩展资料2. 直方图均衡化Numpy实现OpenCV实现(CLAHE)对比度自适应直方图均衡化扩展资料3. 2D直方图介绍OpenCV实现Numpy实现绘制2D直方图4. 直方图反向投影理论Numpy实现Opencv实现扩展资料直方图使用OpenCV和Numpy函数查找直方图,使用OpenCV和Matplotlib函数绘制直方图函数: cv.calcHist(), np.histogram()等1. 直方图基础原创 2021-07-08 17:39:16 · 832 阅读 · 3 评论 -
opencv-python学习笔记(十)—— 图像处理之轮廓
往期文章目录文章目录往期文章目录轮廓1. 寻找轮廓什么是轮廓怎么绘制轮廓轮廓近似方法2. 轮廓特征矩特征轮廓面积轮廓周长轮廓拟合Hull凸包凸度检查外接矩形最小封闭圆拟合椭圆拟合直线3. 轮廓属性长宽比(Aspect Ratio)延伸度(Extent)实心度(Solidity)等效直径(Equivalent Diameter)方向(Orientation)掩模和像素点最大值,最小值和它们的位置平均颜色或平均强度极值点其他特征4. 更多函数凸缺陷多边形点测试形状匹配5. 轮廓层次理论层次表示(opencv)原创 2021-07-07 16:50:34 · 1158 阅读 · 0 评论 -
opencv-python学习笔记(九)—— 图像处理之图像金字塔
往期文章目录文章目录往期文章目录图像金字塔1. 理论2. 高斯金字塔3. 拉普拉斯金字塔4. 使用图像金字塔实现图像混合5. 扩展资料图像金字塔函数: cv.pyrUp(), cv.pyrDown()1. 理论通常,我们使用尺寸固定的图像。但在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,当我们在图像中搜索物体时,比如人脸,我们并不确定物体出现在图像中的大小。在这种情况下,我们需要创建一组具有不同分辨率的图像,并在所有图像中搜索对象。这些不同分辨率的图像被称为图像金字塔(如果将它们放在一原创 2021-07-06 14:27:36 · 466 阅读 · 5 评论 -
opencv-python学习笔记(八)—— 图像处理之Canny边缘提取
系列文章目录文章目录系列文章目录Canny边缘检测1. 原理2. 代码3. 扩展资料Canny边缘检测Canny边缘检测是一种流行的边缘检测算法。它是由John F. Canny提出的一种多阶段的算法。John Canny. A computational approach to edge detection. Pattern Analysis and Machine Intelligence, IEEE Transactions on, (6):679–698, 1986.1. 原理噪声去除原创 2021-07-05 10:26:35 · 856 阅读 · 0 评论 -
opencv-python学习笔记(七)—— 图像处理之图像梯度
系列文章目录文章目录系列文章目录前言图像梯度1. Sobel和Scharr导数2. Laplacian导数3. 代码4. 图像深度问题前言学习找图像的梯度,边缘等OpenCV提供三种类型的梯度滤波器或者说是高通滤波器:Sobel, Scharr和Laplacian。使用的函数: cv.Sobel(), cv.Scharr(), cv.Laplacian() 等图像梯度1. Sobel和Scharr导数Sobel算子是一种结合高斯平滑和微分的操作,具有较强的抗噪声能力。你可以指定求导的方向,垂直原创 2021-07-04 10:19:38 · 711 阅读 · 3 评论 -
opencv-python学习笔记(六)—— 图像处理之形态学操作
系列文章目录文章目录系列文章目录前言形态学变换1. 理论2. 腐蚀3. 膨胀4. 开操作5. 闭操作6. 形态学梯度7. 顶帽8. 黑帽9. 结构体元素10. 扩展资料前言本节将介绍形态学变换形态学变换形态学操作:如腐蚀,膨胀,打开,关闭等。函数如下: cv.erode(), cv.dilate(), cv.morphologyEx() 等.1. 理论形态变换是一些基于图像形状的简单操作。它通常在二值图像上执行。它需要两个输入,一个是我们的原始图像,另一个是决定操作性质的结构元素或内核。两个原创 2021-07-03 10:49:44 · 424 阅读 · 2 评论 -
opencv-python学习笔记(五)—— 图像处理之图片阈值、滤波
系列文章目录文章目录系列文章目录前言一、图像阈值1. 简单阈值2. 自适应阈值3. OTSU二值化OTSU原理OTSU python实现4. 参考资料二、图片光滑1. 2D卷积2. 图像模糊均值模糊高斯模糊中值模糊双边滤波3. 扩展资料前言本教程将学习简单阈值,自适应阈值和Otsu的阈值:cv.threshold 和 cv.adaptiveThreshold. 以及使用低通滤波器模糊图像、2D卷积等等一、图像阈值函数cv.threshold和cv.adaptiveThreshold1. 简单阈值原创 2021-07-02 22:13:52 · 417 阅读 · 1 评论 -
opencv-python学习笔记(四)—— 图像处理之色彩空间、图像几何变换
文章目录系列文章目录引言一、改变色彩空间1. 色彩空间2. 目标追踪3. 如何查找颜色所对应的HSV值二、图像的几何变换1. 缩放2. 平移3. 旋转4. 仿射变换5. 透视变换参考引言在本节中,你将学习OpenCV中不同的图像处理函数。一、改变色彩空间1. 色彩空间Op原创 2021-07-01 09:05:18 · 374 阅读 · 0 评论 -
opencv-python学习笔记(三)—— 像素操作、几何变换、性能优化
系列文章目录文章目录系列文章目录前言一、 图像基本操作1. 获取、修改像素值2. 获取图片属性3. 图片ROI4. 分离和合并图像通道5. 为图片设置边框(Padding)二、图像的算术运算1. 图像相加2. 图像混合3. 位操作前言在本节中,将介绍一些图像的基本操作,如像素获取、更改,几何变换,性能优化,一些数学工具等。一、 图像基本操作1. 获取、修改像素值import numpy as npimport cv2 as cvimg = cv.imread('messi5.jpg')#原创 2021-06-30 09:40:26 · 515 阅读 · 0 评论 -
opencv-python学习笔记(二)—— 图片视频读写、绘制几何形状、鼠标事件等
系列文章目录一起来学opencv-python(一)—— opencv介绍文章目录系列文章目录前言一、图片读写二、视频读写1. 从相机读取视频2. 从文件读取视频3. 保存视频二、绘制几何形状1. 直线2. 矩形3. 圆4. 椭圆5. 多边形6. 文字三、鼠标画笔1. 双击画圆2. 拖动画矩形或圆四、Trackbar前言在这里,你将学习如何显示和保存图像和视频,控制鼠标事件和创建trackbar。一、图片读写从文件中读取图像(使用cv::imread)在OpenCV窗口中显示图像(使用cv::原创 2021-06-29 13:58:53 · 587 阅读 · 5 评论 -
opencv-python学习笔记(一)—— opencv介绍
系列文章目录文章目录系列文章目录前言一、OpenCV是什么?二、OpenCV安装1.引入库测试前言工欲善其事,必先利其器python中常用的视觉库:OpenCVScikit-ImageScipyPython Image Library (Pillow/PIL)MatplotlibSimpleITKNumpyMahotas学习工业视觉有段时间了,也做了几个项目,在项目中用到了不少视觉算法,但是一般都是现用现找现用,一直没有系统的梳理过视觉方面的东西。趁原创 2021-06-28 22:44:02 · 3831 阅读 · 1 评论 -
python + opencv在imagepy中开发USB相机插件
最近发现了imagepy这个宝藏,正好师兄毕业了,留下了一个USB相机,为了方便使用,结合imagepy开发一个USB相机插件,在此记录一下。持续更新……文章目录imagepy开发USB插件搭建界面、绑定功能开发功能、结果展示imagepyimagepy githubImagePy是一个用Python编写的开源图像处理框架。其UI界面、图像数据结构和表数据结构分别是基于wxpython的,基于numpy的和基于panda的。此外,它支持任何基于Numpy和Pandas的插件,兼容scipy、N.原创 2021-06-04 15:33:52 · 595 阅读 · 10 评论 -
Mat中的step[i],step1(i),elemsize,elemsize1
Mat中的step[i], step1(i), elemsize, elemsize1在读取数据和数据转换的时候经常用到,分析了目前比较流行的几种说法,加入了一些自己的见解。文章目录概念举例说明代码演示概念elemsize指的是每个像素的字节数elemsize1指的是每个像素值的字节数(比如三通道的图像每个像素有三个像素值)step是一个数组,用 step 数据属性可得到单位是字节的图像的有效宽度,即使图像的类型不是 uchar,step 仍然能提供行的字节数,step 仍然能提供行的字节数。.原创 2020-12-02 21:57:53 · 1313 阅读 · 0 评论 -
奇异值分解(SVD)原理详解及推导
本文转载于http://blog.csdn.net/zhongkejingwang/article/details/43053513文章目录前言正交矩阵特征值分解——EVD奇异值分解——SVD前言在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系。前段时间看了国外的一篇文章,叫A Singularly Valuable Decomposition The SVD of a Matrix,觉得分析的特别好,把矩阵和空间关系对应了起来。本文就参.转载 2020-06-27 15:23:37 · 743 阅读 · 0 评论 -
Python的那些坑
Python的那些坑在此开一个专题,用来记录在使用Python过程中遇到的一些问题,以及解决方法,生命不息,踩坑不止。持续更新……pip问题在使用Python过程中,很多问题都是由pip引起的。pip更新之后也可能出现ImportError: No module named packaging.version问题。解决方法:重新下载pip安装wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.py...原创 2020-05-18 07:51:53 · 309 阅读 · 0 评论