
图像处理
Jumping boy
爱好计算机视觉、机器学习、深度学习、网络安全等
展开
-
OpenCV中图像的HSV色彩空间
原本输出的HSV 的取值范围分别是0-360, 0-1, 0-1;但是为了匹配目标数据类型OpenCV 将每个通道的取值范围都做了修改,于是就变成了0-180, 0-255, 0-255。在HSV 色彩空间中H, S, V 这三个通道分别代表着色相(Hue),饱和度(Saturation)和明度(Value),原创 2024-02-19 19:14:08 · 689 阅读 · 0 评论 -
图像识别:利用KNN实现手写数字识别(mnist数据集)
图像识别:利用KNN实现手写数字识别(mnist数据集)步骤:1、数据的加载(trainSize和testSize不要设置的太大)2、k值的设定(不宜过大)3、KNN的核心:距离的计算4、k个最近的图片-->根据下标寻找对应的标签5、根据标签转化成相应的数字6、检测概率统计在我看来,KNN算法最大的优点是简单,准确率较高;最大的缺点是:当数据量...原创 2019-05-10 12:36:40 · 7515 阅读 · 7 评论 -
图像处理:图像特效之油画效果
利用OpenCV+python对图片进行处理产生油画的效果算法可以分为五步:1、获取图像的灰度(gray)图片 2、设计一个小方框(4x4 or 8x8 or 10x10等),统计每个小方框的像素值 3、将0-255的灰度值划分成几个等级,并把第二步处理的结果映射到所设置的各个等级中,并计数 4、找到每个方框中灰度等级最多的所有的像素,并且求取这些像素的均值 5、用统计出来的平均值...原创 2019-05-02 14:33:21 · 5469 阅读 · 3 评论 -
图像处理:给验证码图片做降噪处理及数据清洗
上一篇博文:https://blog.csdn.net/qq_40962368/article/details/89312429图像处理:给验证码图片做降噪处理及数据清洗在上一篇博文中,tesseract对验证码识别的准确率还是非常低的,改进措施的话,可以从三个方面来考虑:1、数据的来源 数据的质量还是非常影响识别的精确度的,验证码图片中含有很多的噪声,会影响tess...原创 2019-04-16 14:19:14 · 5234 阅读 · 12 评论 -
OpenCV中文路径问题、matplotlib可视化中文乱码问题的解决办法
OpenCV中文路径问题、matplotlib可视化中文乱码问题的解决办法OpenCV中文路径问题读取图片 其中img_path为读取图片路径,可以包含中文img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)保存图片保存图像,其中img为所要保存的图像原始数据,save_path为保存图片路径,可以包...原创 2019-03-12 15:53:52 · 514 阅读 · 0 评论 -
python+OpenCV图像处理(十二)车牌定位中对图像的形态学组合操作处理
车牌定位中对图像的形态学组合操作处理所谓的车牌定位,其中最关键的部分就是对图片的处理,参数的设置,并使之拥有泛化能力。首先传入图片,在进行大规模的图片处理时,因为无法确定图片的尺寸,所以需要将原始图片进行等比例的缩放。orgimg = cv2.imread('chepai3.jpg')# 压缩图像img = cv2.resize(orgimg, (400, int(400 * i...原创 2018-09-12 22:19:55 · 5742 阅读 · 3 评论 -
python+OpenCV图像处理(十)霍夫变换简单图形检测
霍夫变换霍夫变换(Hough Transform)是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如:直线、圆等)。最基本的霍夫变换是从黑白图像中检测直线。霍夫变换是经典的检测直线的算法。其最初用来检测图像中的直线,同时也可以将其扩展,以用来检测图像中的简单结构。它最初是用于在二值化的图像中进行直线检测的。对于...原创 2018-08-25 22:04:16 · 19749 阅读 · 1 评论 -
python+OpenCV图像处理(十一)图像轮廓检测
图像轮廓检测(一)检测轮廓在OpenCV-python中,使用cv2.findContours()函数来对图像进行轮廓检测。返回三个值:image,contours,hierarchycontours指的是轮廓本身,hierarchy是每条轮廓对应的属性cv2.findContours(image, mode, method[, contours[, hierarchy[, ...原创 2018-08-30 10:11:54 · 6827 阅读 · 7 评论 -
python+OpenCV图像处理(九)图像金字塔
图像金字塔 图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。图像金字塔示意图(图片来源百度...原创 2018-08-22 11:47:17 · 4787 阅读 · 3 评论 -
python+OpenCV图像处理(八)边缘检测
边缘检测边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。边缘检测是特征提取中的一个研究领域。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像...原创 2018-08-08 00:25:13 · 36784 阅读 · 1 评论 -
python+OpenCV图像处理(七)图像的形态学处理
图像的形态学处理 数学形态学(Mathematical morphology)是一门 建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。 膨胀、腐蚀、开运算和闭运算是数学形态学的四个基本运算,它们在二值图...原创 2018-08-04 00:51:57 · 10629 阅读 · 0 评论 -
python+OpenCV图像处理(六)图像平滑与滤波
图像平滑与滤波运用它,首先就要了解它,什么是平滑滤波? 平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择邻域的大小。在看一下滤波的目的:...原创 2018-07-29 22:29:30 · 18436 阅读 · 0 评论 -
python+OpenCV图像处理(五)图像的阈值分割
图像的阈值处理 一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization)。 阈值分割法的特点是:适用于目标与背景灰度有较强对比的情况,重要的是背景或物体的灰度比较单一,而且总可以得到封闭且连...原创 2018-07-04 21:37:59 · 37499 阅读 · 7 评论 -
python+OpenCV图像处理(一)读取、复制、显示、保存
前 言 从2017年入坑人工智能领域开始,就被这一领域深深的所吸引,虽然到现在已经踩了不少坑,但总算有了不少的收获,深感不虚此行,借助强大的python让我快速的向着这一领域靠近,现在流行比较广的人工智能应用,比如:图像识别,语音识别,文本情感分析,人体行为分析等等。在金融、安全、智能推荐等等,凡是我们能想到的领域,都可以安插人工智能的应用,对推进万物互联、万物互通的未来智能具有深...原创 2018-05-25 18:59:16 · 45200 阅读 · 5 评论 -
python+OpenCV图像处理(四)图像的简单几何变换
图像的简单几何变换先看一下关于图像几何变换的简介:几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。有利于我们在后续的处理和识别工作中将注意力集中子图像内容本身,更确切地说是图像中的对象,而不是该对象的角度和位置等。几何变换常常作为图像处理应用的预处理步骤,是图像归一化的核心工作之...原创 2018-07-03 11:20:07 · 17408 阅读 · 5 评论 -
python+OpenCV图像处理(三)绘制简单的几何图形、显示文字
绘制简单的几何图形、显示文字(一)绘制直线和矩形原创 2018-05-26 21:53:39 · 8888 阅读 · 3 评论 -
python+OpenCV图像处理(二)图像像素的访问、通道的合并与分离
对图像像素的访问、通道的合并与分离(一)像素的访问在第一篇博客中,向大家介绍了,所谓的图像在计算机看来就是一个矩阵,对于RGB图像矩阵一共有三层,分别代表着RGB通道,矩阵中每一个数的大小代表着不同通道的亮度,范围在0~255之间。访问图像的像素,就如同对矩阵元素的访问,很好理解。print(img[0][0][0])输出为:34也可以对所读取的图像矩阵的像素进行赋值for i in range(...原创 2018-05-26 16:34:27 · 6648 阅读 · 0 评论