OpenCV图像处理
图像识别、图像处理
郑德帅
滴滴
展开
-
解决Pillow报错 Image size (XXX pixels) exceeds limit of 178956970 pixels, could be decompression
这里写目录标题1 报错代码2 报错原因3 解决方法1 报错代码PIL.Image.DecompressionBombError: Image size (244186200 pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.2 报错原因3 解决方法 最初查到的解决方法是在导入ImageFile时添加以下代码from PIL import ImageFileImageFile.原创 2020-12-22 19:57:32 · 14338 阅读 · 8 评论 -
OpenCV + C++环境配置:Visual Studio 2017 + OpenCV4.5.0
-报错代码解决方法报错代码#include <opencv2/core/core.hpp>解决方法先点击 解决方案和文件夹原创 2020-12-02 09:39:58 · 1585 阅读 · 0 评论 -
OpenCV for Python之使用Haar分类器进行人脸识别
OpenCV for Python之使用Haar分类器进行人脸识别1 Haar特征分类器对象检测技术2 主要步骤3 相关api4 实现人脸检测Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 Haar特征分类器对象检测技术它是基于机器学习的,通过使用大量的正负样本图像训练得到一个cascade_function,最后再用它来做对象检测。如果你想实现自原创 2020-05-31 02:16:55 · 1176 阅读 · 0 评论 -
OpenCV for Python之分水岭算法
OpenCV for Python之分水岭算法1 分水岭算法2 相关api3 算法实现Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 分水岭算法 任何灰度图像都可以看作是一个地形表面,其中高强度表示山峰,低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水位的上升,根据附近的山峰(坡度),来自不同山谷的水明显会开始合并原创 2020-05-31 02:01:04 · 746 阅读 · 0 评论 -
OpenCV for Python之图像轮廓
OpenCV for Python之图像轮廓1 图像轮廓2 相关api3 轮廓周长:4 轮廓构成面积5 demoOpencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 图像轮廓. 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同 的颜色或者灰度。. 轮廓在形状分析和物体的检测和识别中很有用。. 为了更加准确,要使用二值化图像。在寻找轮廓之前原创 2020-05-31 01:45:23 · 396 阅读 · 0 评论 -
OpenCV for Python之模板匹配
OpenCV for Python之图像轮廓1 模板匹配2 api及其参数3 常见匹配方式及其计算公式4 匹配单个物体5 匹配多个物体Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 模板匹配在整个图像区域发现与给定子图像匹配的小块区域具体实现为在待检测的图像上,从左到右,从上倒下计算模板图像与重叠子图像匹配度,匹配度越大,两者相同的可能性越大,例如滑动原创 2020-05-31 01:20:26 · 557 阅读 · 0 评论 -
OpenCV for Python之图像金字塔
OpenCV for Python之图像金字塔1 图像金字塔2 高斯金字塔3 拉普拉斯金字塔Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 图像金字塔两种图像金字塔:1)高斯金字塔2)拉普拉斯金字塔2 高斯金字塔高斯金字塔中的较高级别(低分辨率)是通过删除较低级别(较高分辨率)图像中的连续行和列而形成的。然后,较高级别的每个像素由基础级别的5个原创 2020-05-31 00:36:00 · 450 阅读 · 0 评论 -
OpenCV for Python之直线检测与圆检测
OpenCV for Python之直线检测与圆检测1 直线检测2 圆检测3 其他形状的检测:Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 直线检测api:cv.HoughLines(image, rho, theta, threshold, lines=None, srn=None, stn=None, min_theta=None, max_t原创 2020-05-30 23:37:39 · 1391 阅读 · 0 评论 -
OpenCV for Python之Canny边缘检测
OpenCV for Python之Canny边缘检测1 Canny边缘检测2 canny边缘检测步骤3 具体操作Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 Canny边缘检测目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:好的检测- 算法能够尽可能多地标识出图像中的实际边缘。好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能原创 2020-05-30 22:52:38 · 274 阅读 · 0 评论 -
OpenCV for Python之图像梯度
OpenCV for Python之图像梯度1 图像梯度的概念2 Sobel 算子3 Scharr 算子4 Laplacian 算子5 自定义算子Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 图像梯度的概念梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(无论是横向的、纵向的、斜方向的等等),所需要的是一个核模板。模板的不同结果也不同。所以原创 2020-05-30 22:26:35 · 505 阅读 · 0 评论 -
OpenCV for Python之图像的模糊操作(图像平滑)
OpenCV for Python之图像的模糊操作1 图像的一些基本知识2 均值模糊、中值模糊、用户自定义模糊3 高斯模糊4 边缘保留滤波EPF5 中值、均值滤波去除高斯、椒盐噪声Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 图像的一些基本知识噪声:主要有三种:椒盐噪声(Salt & Pepper):含有随机出现的黑白亮度值。脉冲噪声:原创 2020-05-30 22:02:06 · 625 阅读 · 0 评论 -
OpenCV for Python之图像的开闭操作、顶帽黑帽、形态学梯度
OpenCV for Python之图像的开闭操作1 开闭操作2 顶帽 黑帽3 形态学梯度Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 开闭操作开运算:先腐蚀再膨胀.就叫做开运算,它被用来去除噪声。闭运算:先膨胀再腐蚀。它经常被用来填充前景物体中的小洞,或者前景物体上的小黑点。api:cv.morphologyEx(src, op, ker原创 2020-05-30 18:58:22 · 503 阅读 · 0 评论 -
OpenCV for Python之图像的膨胀与腐蚀
OpenCV for Python之图像的膨胀与腐蚀1 图像的腐蚀2 图像的膨胀Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 图像的腐蚀就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但是前景仍然 是白色)。卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是 1, 那么中心元素就保持原来的像素值,否则就变为零。根据卷积核的大小靠近前景的原创 2020-05-30 16:58:11 · 1635 阅读 · 0 评论 -
OpenCV for Python之图像的几何变换
OpenCV for Python之图像的几何变换1 几何变换为何2 图像的缩放3 图像的平移4 图像的旋转5 图像的仿射变换6 图像的透视变换Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 几何变换为何其实就是图像的变换 ,包括平移 ,旋转,缩放,仿射,透视等。2 图像的缩放def resize_demo(image): print("O原创 2020-05-30 16:10:37 · 367 阅读 · 0 评论 -
OpenCV for Python之图像RIO与泛洪填充
这里写目录标题1 ROI与泛函填充2 ROI3 泛函填充Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:OpenCV4 for Python 中文文档1 ROI与泛函填充ROI(region of interest),感兴趣区域,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI泛函填充:2 ROIdef roi_test(src): face原创 2020-05-30 15:47:25 · 573 阅读 · 0 评论 -
OpenCV for Python之像素运算
OpenCV4 for Python之像素运算1 环境2 像素值的加减乘除3 像素值均值方差4 像素值按位运算Opencv4官方文档:https://docs.opencv.org/2.4.4-beta/Opencv4 for Python中文文档点击下载:Opencv4 for Python 中文文档1 环境Python 3.7 + OpenCV 4.22 像素值的加减乘除def add_demo(m1, m2): dst = cv.add(m1, m2) #就是像素值想加,超过255原创 2020-05-30 00:54:59 · 251 阅读 · 0 评论 -
OpenCV for Python之色彩空间
OpenCV4 for Python之色彩空间1 环境2 常见色彩空间3 从视频/动图中提取指定颜色4 通道分离5 颜色空间转换1 环境Python 3.7 + OpenCV 4.22 常见色彩空间RGB:Red,Green和Blue三个channel(通道)构成,取值均为0-255之间。HSV:Hue(色调),Saturation(饱和度)和Value(亮度)三个channel H:0-180 S:0-255 V:0-255。Gray:只有灰度值一个channel。其他还有HIS,YCrC原创 2020-05-30 00:56:15 · 251 阅读 · 0 评论 -
OpenCV for Python之改变图片颜色
OpenCV4 for Python之改变图片颜色1.环境2 直接修改通道值3.与、或、非、异或操作1.环境Python 3.7 + OpenCV 4.22 直接修改通道值改变图片颜色,其实就是修改通道值.def create_ima(): #三通道 ima = np.zeros([400,400,3],np.uint8) #黑 cv.imshow("black",ima) ima[:,:,0] = np.ones([400,400]) * 255 # 蓝色原创 2020-05-30 00:54:06 · 5834 阅读 · 0 评论 -
OpenCV for Python之绘图功能
OpenCV中的绘图功能1 相关api2.具体二级目录三级目录1 相关apicv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()2.具体二级目录三级目录原创 2020-05-29 17:16:11 · 315 阅读 · 0 评论 -
OpenCV for Python之从相机中读取视频、从文件中播放视频、保存捕捉视频
OpenCV从相机中读取视频1.从相机中读取视频代码实例2 从文件中播放视频代码实例3 保存捕捉到的视频:代码实例1.从相机中读取视频代码实例def video_demo(): capture = cv.VideoCapture(0)#0笔记本内置摄像头,1调用usb摄像头 if not capture.isOpened(): print("Cannot open camera") exit() while True: # 逐帧捕获原创 2020-05-29 13:03:41 · 612 阅读 · 0 评论 -
Opencv for Python之图像二值化
OpenCV图像二值化1.环境2.部分api及其参数解析3.二值化方法及其效果:3.1 全局阈值3.2 部分阈值:自适应阈值3.3 自定义阈值3.4 超大图像二值化图像二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0~255,在二值化后的图像中的灰度值范围是0或者255。比如下图就是二值化后的图片:1.环境Python 3.7 + OpenCV 4.22.部分api及其参数解析方法一:cv.原创 2020-05-29 01:38:23 · 1004 阅读 · 0 评论 -
OpenCV图像灰度化的六种方法
1.环境Python 3.7 + OpenCV 4.22.部分api及其参数解析方法一:读取时灰度化处理cv.imread(filename, cv.IMREAD_GRAYSCALE)具体cv.imread及其使用方法参考博客OpenCV图像的加载、显示与保存方法二:调用cvtColor灰度化,其中cvtColor如下:cv.cvtColor(src, code, dst=None, dstCn=None)参数 :src:input image: 8-bit unsigned原创 2020-05-29 01:32:15 · 40170 阅读 · 2 评论 -
OpenCV中namedWindow()函数使用
先写参考:https://blog.csdn.net/xykenny/article/details/90513480原创 2020-05-28 01:22:17 · 15182 阅读 · 0 评论 -
OpenCV图像的加载、显示与保存
笔记主要来自王刚老师和<<OpenCV-Python-Tutorial-中文版>>,所以这篇博客可能不会开源,仅私密为个人使用OpenCV学习手札1.学习环境一级目录一级目录一级目录二级目录三级目录1.学习环境Win 10 + Python 3.7 + OpenCV 4.2一级目录一级目录一级目录二级目录三级目录...原创 2020-05-28 01:20:31 · 1444 阅读 · 0 评论 -
OpenCV for Python通道分离快速找出滑块验证码中缺口坐标
声明:文章仅源自个人兴趣爱好,不涉及他用,侵权联系删。转载请注明:转自https://leejason.blog.csdn.net/article/details/106211451OpenCV快速找出滑块验证码缺口坐标1.验证码及缺口图示例1.1 验证码(带缺口)1.2 缺口滑块2.灰度化(这里没用、习惯性处理看看效果)2.1 验证码(带缺口)2.2 缺口滑块3.通道分离及其效果4.找出缺口位置5.效果1.验证码及缺口图示例1.1 验证码(带缺口)1.2 缺口滑块没有空行,是滑块自带空白.原创 2020-05-31 02:19:18 · 2231 阅读 · 10 评论