al+大数据每日学习笔记15

📅 2026/8/4 5:29:16
al+大数据每日学习笔记15
2026年8月1日星期六今天学习计算机视觉。一、计算机视觉定义计算机视觉Computer Vision, CV让计算机模仿人类视觉系统从图像、视频中获取信息、理解内容通过算法对画面进行检测、分割、识别、变换等操作。计算机视觉分为两大分支传统图像处理经典计算机视觉人工设计算法与特征规则无需训练神经网络代表工具OpenCV这次学习的内容基于深度学习的计算机视觉利用神经网络自动学习图像特征需要数据集训练代表方向图像分类、目标检测、语义分割YOLO、CNN 等二、OpenCV 传统图像处理1. 图像读取、显示、保存与窗口控制OpenCV 特性默认读取彩色图像通道顺序为BGR普通图片软件、matplotlib 使用 RGB顺序不一样cv2.imread(路径, 读取标识)默认加载彩色图像cv2.IMREAD_GRAYSCALE直接以灰度单通道读取图片cv2.imshow(窗口名称, 图像数据)创建窗口展示图像cv2.waitKey(延时ms)参数 0无限等待按键大于 0等待指定毫秒返回按键 ASCII 码ESC 按键编码为 27常用来退出程序cv2.destroyAllWindows()销毁全部窗口释放内存资源规范写法防止内存占用cv2.imwrite(保存路径,图像)将处理后的图像保存到本地2. 图像基础属性与 ROI 感兴趣区域图像本质是多维 numpy 数组img.shape(高度 H, 宽度 W, 通道数)灰度图只有 (H,W)img.size图像总像素数量img.dtype像素数据类型常规图像为uint8像素范围 0~255ROI 感兴趣区域利用 numpy 切片提取图像局部区域img[起始高:结束高, 起始宽:结束宽]用途截取目标区域、局部打码、图片局部叠加。3. 视频读取操作cv2.VideoCapture(地址)读取本地视频 / 摄像头isOpened()判断视频是否成功打开ret, frame video.read()逐帧读取画面ret布尔值判断是否成功读到帧frame当前帧图像和图片格式一致BGR 数组循环持续读取每一帧实现视频播放程序结束必须调用.release()释放视频流资源4. 颜色通道操作、色彩空间转换彩色图像三维结构[H,W,通道][:,:,0]→ B 蓝色通道[:,:,1]→ G 绿色通道[:,:,2]→ R 红色通道通道分离b,g,r cv2.split(img)通道合并img cv2.merge((b,g,r))cv2.cvtColor(图像, 转换模式)色彩空间转换cv2.COLOR_BGR2GRAY彩色转灰度cv2.COLOR_BGR2RGBBGR 转为 RGBcv2.COLOR_BGR2HSV转换到 HSV 空间常用于颜色筛选5. 图像缩放 cv2.resize ()函数cv2.resize(src, dsize, fx, fy)src原始图像dsize(宽度,高度)直接指定输出图像尺寸fx、fy水平、垂直方向缩放比例dsize 设为 None 时生效示例cv2.resize(img,None,fx0.5,fy0.5)图像长宽缩小一半6. 图像像素算术运算1直接相加img1 img2像素求和遵循取模运算数值超过 255 时总和 - 256例260 → 4画面容易出现异常噪点。2cv2.add(img1,img2)饱和加法像素相加上限锁定 255超过 255 直接取 255图像融合、提亮优先使用该 API7. 边界填充 cv2.copyMakeBorder ()作用在图像上下左右扩充像素边框参数src, top, bottom, left, right, borderType, valuetop/bottom/left/right四个方向扩充宽度borderType 填充模式cv2.BORDER_CONSTANT填充固定颜色配合 value 设置颜色cv2.BORDER_REPLICATE直接复制图像最边缘像素向外延伸cv2.BORDER_REFLECT镜面反射包含边界像素镜像复制cv2.BORDER_REFLECT_101默认镜像反射不重复边界像素最常用cv2.BORDER_WRAP循环平铺方式填充8. 阈值分割 threshold二值化核心函数ret, dst cv2.threshold(灰度图, thresh, maxval, type)thresh设定阈值maxval最大值仅二值模式生效返回ret 使用的阈值dst 处理完成图像五种阈值模式cv2.THRESH_BINARY大于阈值→maxval其余置 0cv2.THRESH_BINARY_INV反向二值大于阈值置 0其余设 maxvalcv2.THRESH_TRUNC超过阈值统一改为阈值低于阈值保持原值cv2.THRESH_TOZERO低于阈值归零高于阈值不变cv2.THRESH_TOZERO_INV高于阈值归零低于阈值不变9. 图像噪声与滤波平滑去噪椒盐噪声随机在图像生成黑点 (像素 0)、白点 (像素 255) 脉冲噪声。四类滤波器均值滤波 cv2.blur ()【线性滤波】邻域内所有像素求平均值实现画面模糊无法有效去除椒盐噪声。参数cv2.blur(图像,(核宽,核高))方框滤波 cv2.boxFilter ()【线性滤波】normalizeTrue等价均值滤波求平均normalizeFalse邻域像素直接求和容易像素溢出发白高斯滤波 cv2.GaussianBlur ()【线性滤波】根据像素距离赋予权重近处像素权重更高模糊效果更加自然适合去除高斯噪声。中值滤波 cv2.medianBlur ()【非线性滤波】邻域像素排序后取中间值专门消除椒盐噪声。