当前位置: 首页 > news >正文

cv2.threshold cv2.morphologyEx

cv2.threshold(gray, threshold, 255, cv2.THRESH_BINARY) 函数中,各个参数的含义如下:

  1. gray

    • 输入的灰度图像(单通道图像),这是进行阈值处理的对象。
    • 注意:阈值函数只能处理单通道灰度图,不能直接用于彩色图像。
  2. threshold

    • 设定的阈值(一个具体的数值,例如127)。
    • 函数会将图像中每个像素的灰度值与该阈值进行比较,再根据阈值类型决定像素的输出值。
  3. 255

    • 当像素值满足阈值条件时,赋予该像素的最大值(通常为255,代表白色)。
    • 这个值的范围与图像的位深有关,对于8位图像(最常见),最大值就是255。
  4. cv2.THRESH_BINARY

    • 阈值处理的类型,这里表示"二值化阈值"。
    • 工作逻辑:
      • 若像素灰度值 > 设定的阈值,则像素值设为第三个参数(255)。
      • 若像素灰度值 ≤ 设定的阈值,则像素值设为0(黑色)。

其他常见的阈值类型还包括:

  • cv2.THRESH_BINARY_INV:反转二值化(满足条件设为0,不满足设为255)
  • cv2.THRESH_TRUNC:截断(超过阈值的像素设为阈值,其余不变)
  • cv2.THRESH_TOZERO:低于阈值的像素设为0,其余不变

函数的返回值:

  • ret:实际使用的阈值(与输入的threshold一致,某些自适应阈值方法中可能不同)
  • binary:处理后的二值化图像

cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel, iterations=1) 函数中,各个参数的含义如下:

  1. binary

    • 输入图像,通常是二值化图像(只有0和255两个值的图像)。
    • 形态学操作主要用于二值图像,也可用于灰度图像,但二值图像是最常见的应用场景。
  2. cv2.MORPH_OPEN

    • 形态学操作的类型,这里表示"开运算"。
    • 开运算的本质是先腐蚀(Erosion)后膨胀(Dilation),主要作用是:
      • 去除图像中的小噪声点
      • 分离相邻的物体(如果距离较近)
      • 保留较大物体的形状和大小基本不变
  3. kernel

    • 形态学操作的结构元素(也称为核),是一个由0和1组成的矩阵。
    • 核的形状和大小会影响操作效果,常见的有矩形(cv2.getStructuringElement(cv2.MORPH_RECT, (k, k)))、十字形(cv2.MORPH_CROSS)、椭圆形(cv2.MORPH_ELLIPSE)。
    • 例如:kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) 表示创建一个3×3的矩形核。
  4. iterations=1(可选参数):

    • 操作的迭代次数,默认值为1。
    • 迭代次数越多,形态学操作的效果越明显(例如,多次腐蚀+膨胀可以去除更大的噪声)。

函数的返回值 opening 是经过开运算处理后的图像。

其他常见的形态学操作类型:

  • cv2.MORPH_CLOSE:闭运算(先膨胀后腐蚀),用于填充物体内部的小空洞
  • cv2.MORPH_ERODE:单独的腐蚀操作
  • cv2.MORPH_DILATE:单独的膨胀操作
  • cv2.MORPH_GRADIENT:形态学梯度(膨胀-腐蚀),用于提取物体边缘
http://www.lryc.cn/news/612990.html

相关文章:

  • Ubuntu 25.04 安装 pyenv 并配置多个 python 版本
  • Java并发与数据库锁机制:悲观锁、乐观锁、隐式锁与显式锁
  • 构建一个简洁优雅的 PHP 参数验证器 —— php-schema-validator
  • 金仓KingbaseES逻辑架构,与Oracle/MySQL对比
  • Python实现点云随机一致性(RANSAC)配准——粗配准
  • (Python)Python爬虫入门教程:从零开始学习网页抓取(爬虫教学)(Python教学)
  • 利用vue.js2X写前端搜索页面,express写后端API接口展现搜索数据
  • python数据结构与算法(基础)
  • DrissionPage自动化:高效Web操作新选择
  • 怎么在本地引入字体
  • 深入解析嵌套事务:原理与应用
  • 基于langchain的两个实际应用:[MCP多服务器聊天系统]和[解析PDF文档的RAG问答]
  • HTTP 协议升级(HTTP Upgrade)机制
  • 自动驾驶控制算法——滑模控制(SMC)原理与建模
  • TCP 如何保证可靠性
  • FluentUI-main的详解
  • 多账号管理方案:解析一款免Root的App分身工具
  • B-树与B+树
  • 动力电池点焊机:效率质量双提升,驱动新能源制造升级
  • Dify 从入门到精通(第 20/100 篇):Dify 的自动化测试与 CI/CD
  • Oracle exp imp expdp impdp 命令详解
  • PCB制造中压接孔、插接孔、沉头孔、台阶孔的区别及生产流程
  • 《C语言》函数练习题--1
  • 基于大数据的美食视频播放数据可视化系统 Python+Django+Vue.js
  • Vscode Data Wrangler 数据查看和处理工具
  • GitHub 上 Star 数量前 20 的开源 AI 项目
  • 中国MCP市场:腾讯、阿里、百度的本土化实践
  • 医疗人效管理新标杆:盖雅工场如何赋能健康服务企业提质增效
  • Java 大视界 -- Java 大数据在智能教育在线课程互动优化与学习体验提升中的应用(386)
  • 一篇文章用大白话带初学者搞清训练集、测试集及验证集关系及场景逻辑(包清楚)