7.2 Python图像处理之图像分割-单阈值分割

文章目录

  • 7.2 Python图像处理之图像分割-单阈值分割
    • 1 算法原理
    • 2 代码
    • 3 效果

1 算法原理

单阈值分割算法原理:

单阈值分割是指将一灰度图,大于阈值的像素白色表示,小于阈值的像素以黑色表示。或者颜色调换过来也可以。该方法找到一个阈值,如果像素低于阈值,就认为是背景,否则认为是目标的一部分。

一般流程:通过判断图像中每一个像素点的特征属性是否满足阈值的要求,来确定图像中的该像素点是属于目标区域还是背景区域,从而将一幅灰度图像转换成二值图像。用数学表达式来表示,则可设原始图像 f(x,y),T 为阈值,分割图像时则满足下式:

0是黑色,255是白色

如果图像中有多个灰度值不同的区域,那么可以选择一系列的阀值以将每个像素分到合适的类别中去。如果只用一个阀值分割称为单阀值方法。

2 代码

运行代码说明

1.要改变代码中的图片地址(地址不能有中文)

最后一行代码:更改put(path)函数中的路径put(r'../image/image1.jpg')

2.注意最后的plt.savefig('1.new.jpg')是保存plt图像,如果不使用可以注释掉

代码依赖包:

matplotlib  3.4.2
numpy  1.20.3
opencv-python  4.1.2.30
# pip安装
pip install matplotlib numpy opencv-python

import cv2
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falsedef put(path):image = cv2.imread(path)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转为灰度图# 方法选择为THRESH_BINARY单阈值,150为阈值,小于阈值使用0表示。0是黑色,255是白色ret1, th1 = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)plt.subplot(131), plt.imshow(image[:,:,::-1])  # img[:,:,::-1]转换是为了转回RGB格式,这样才可以正常显示彩色图像plt.title("原图"),plt.axis('off')plt.subplot(132), plt.imshow(gray, "gray")plt.title("灰度图"),plt.axis('off')plt.subplot(133), plt.imshow(th1, "gray")plt.title("单阈值 " + str(ret1)),plt.axis('off')# plt.savefig('2.new-img.jpg')plt.show()# 图像处理函数,要传入路径
put(r'../image/img5.jpg')

不同图片要取合适的阈值才好看

3 效果

7.2 Python图像处理之图像分割-单阈值分割相关推荐

  1. 7.1 Python图像处理之图像分割-自适应阈值

    7.1 Python图像处理之图像分割-自适应阈值 文章目录 7.1 Python图像处理之图像分割-自适应阈值 1 算法原理 2 代码 3 效果 1 算法原理 在不均匀照明或者灰度值分布不均的情况下 ...

  2. python图像分割动态域值_图像处理基本算法 动态阈值分割

    在图像处理时,受外界光线的干扰一般比较大,假如在阈值分割时采用固 定阈值,那么在环境改变时分割效果受影响极大,那么为了避免此影响就 必须采用动态阈值,自动求出合适的阈值进行分割. 本文的介绍几种主要的 ...

  3. matlab函数im2bw_图像分割之阈值分割(matlab)(转载)

    转载自:https://blog.csdn.net/weixin_39824223/article/details/112249214 matlab函数im2bw_图像分割之阈值分割(matlab) ...

  4. 图像分割__阈值分割

    阈值分割 为得到图像中的物体信息, 必须进行图像分割, 即提取图像中与感兴趣物体相对应的区域, 而其中最简单的分割算法是图像的阈值分割. 1. 全局阈值 使用过程中的五种阈值类型如上图所示 这种设定全 ...

  5. Python对DICOM图像进行阈值分割

    Python对Dicom图像进行处理,离不开pydicom,opencv-python,matplotlib,numpy四个代码库,安装完成这四个代码库后, 可以读取Dicom图像,并对图像进行处理, ...

  6. 大律法 matlab,基于蜂群单阈值分割的SRC板材缺陷分类方法

    温长吉, 王生生, 于合龙, 等. 基于改进蜂群算法优化神经网络的玉米病害图像分割[J]. 农业工程学报, 2013, 29(13): 142-149.(WEN Chang-ji, WANG Shen ...

  7. 图像分割与视频分割方法

    图像分割 图像分割介绍 1.普通分割 2.语义分割 3.实例分割(instance segmentation) 传统的图像分割方法 1.基于阈值的图像分割 单阈值分割 局部阈值分割 阈值的选取 直方图 ...

  8. OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)

    OpenCV与图像处理学习七--传统图像分割之阈值法(固定阈值.自适应阈值.大津阈值) 一.固定阈值图像分割 1.1 直方图双峰法 1.2 OpenCV中的固定阈值分割 二.自动阈值图像分割 2.1 ...

  9. 图像分割中阈值的自动选取的研究及其算法实现

    图像分割是图像处理这门学科中的基础难题,基于阈值的分割则又是图像分割的最基本的难题之一,其难点在于阈值的选取.事实证明,阈值的选择的恰当与否对分割的效果起着决定性的作用.由于阈值选取对图像分割的基础性 ...

最新文章

  1. 【Pandas库】(4) 索引操作--重新生成索引
  2. python 实时日志监控_python动态监控日志内容的示例
  3. 【Redis】redis 主从复制
  4. webConfig中System.Web 和 System.WebServer节点读取
  5. python名片管理系统2.0_Python:名片管理系统2.0(增加登录功能)
  6. Git:checkout命令无法切换回master
  7. YOLO V1论文理解
  8. excel转置怎么操作_收藏!Excel表格常见问题,超详细的解决方案
  9. Python 之 PyCharm + selenium 163邮箱登录详解
  10. 关于能力素质模型建模
  11. 如何在IDEA中操作数据库——导入驱动包
  12. mac php pear pecl,mac 安装 pecl pear
  13. 微信公众号 隐藏菜单
  14. 投资、投机、赌博、交易
  15. python如何转换图形_python绘图 转
  16. 华新集团再冲刺港交所上市:上半年收入2.6亿元,张德红为董事长
  17. UE4材质初探(转载)
  18. 超级签名-原理/机制/技术细节-完全解析
  19. 《计算机组成原理》第二版第四章课后习题解答
  20. 【文献阅读】 Fair Sequential Group Recommendations

热门文章

  1. HDU 6264 Super-palindrome(CCPC2017杭州) 水题
  2. 网上开店推荐prestashop
  3. 中国生物科技公司【Advanced Biomed】申请纳斯达克IPO上市
  4. 置顶 - Zigbee专题提问贴
  5. 织梦dede怎样去掉后台登陆界面广告
  6. Angularjs2 学习笔记
  7. 农夫过河游戏的几种处理方法(DFS深度优先搜索,BFS广度优先搜索)
  8. 西门子S7200/300/400以太网通讯处理器选型
  9. qbs java_Qt构建工具QBS之零 —— QBS 概览
  10. 身份证复印件安全使用攻略