Otsu图像分割

article/2025/8/18 23:02:59

opencv自带Otsu算法,只需要在分割时将参数选择为“cv2.THRESH_OTSU”即可

#coding:utf-8
import cv2
import numpy as np
from matplotlib import pyplot as pltimage = cv2.imread('E:/shale10053.bmp')
grayimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(grayimage, (3,3), 0)plt.figure(figsize=(5,5))
plt.subplot(), plt.imshow(image, "gray")
plt.title("source image"), plt.xticks([]), plt.yticks([])ret1, th1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)  #方法选择为THRESH_OTSUplt.figure(figsize=(5,5))
plt.subplot(), plt.imshow(th1, "gray")
plt.title("Otsu,threshold is " + str(ret1)), plt.xticks([]), plt.yticks([])plt.figure(figsize=(12,5))
plt.subplot() 
plt.title("Histogram")
plt.hist(image.ravel(),255,color='red',alpha=1,rwidth=0.3)

 

 

 


http://chatgpt.dhexx.cn/article/It7Konw1.shtml

相关文章

OpenCV中图像的自适应处理、Otsu方法讲解与实战(附Python源码)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、自适应处理 很多时候图像色彩是不均衡的,如果只使用一种阈值处理类型,就无法得到清晰有效的结果 下面使用五种常用的阈值处理类型对色彩不均衡的图像进行处理 代码如下 import cv2image cv2.imread(&…

图像分割 - 阈值处理 - 多阈值处理(OTSU)

目录 1. 多阈值处理介绍 2. 代码讲解 3. 完整代码 1. 多阈值处理介绍 之前介绍的都是全局单个阈值对图像的分割。固定阈值法,阈值是人工根据灰度直方图的波谷进行设置的。全局阈值法,根据不停的迭代两个区域间的平均灰度进行分割。OUST最大类间方差法…

otsu算法详细推导、实现及Multi Level OTSU算法实现

otsu算法详细推导、实现及Multi Level OTSU算法实现 微信公众号:幼儿园的学霸 目录 文章目录 otsu算法详细推导、实现及Multi Level OTSU算法实现目录简介推导及实现常规推导算法步骤及实现步骤实现 从概率的角度解释推导实现 扩展-MultiLevel OTSU延伸思考算法评价…

OTSU算法及其改进算法学习

这篇文章还是来自斯坦福课后作业hw2_3,主要是结合一个例子介绍otsu算法【亦称为大律算法,小日本】及其改进算法。 本文将先介绍老外的题目、解题思路及maltab解答,然后分析otsu算法步骤,末了给出opencv实现。 老外的题目&#xff…

Otsu Thresholding

1. Otsu Thresholding Explained Otsu对image中的所有像素都假定为阈值,然后根据此值将image分为前景物体和背景;遍历所有像素值 计算类内方差,最小的类内方差对应的threshold即为最优阈值; 以6阶灰度图像为例 A 6-level greys…

Otsu算法原理及实现

在图像处理中Otsu方法,是以 Nobuyuki otsu 的名字命名的(日本人,大津展之),常用于基于图像分割的聚类。该算法的理论依据是:假定图像包含两类像素(前景像素和背景像素),直…

10 Otsu 算法

文章目录 前言一、Otsu 是什么?二、算法实验1.使用第三方库2.不使用第三方库 前言 Otsu 是一种利用图像的灰度特征自动计算二值化阈值的方法,常被称为 Otsu 自动阈值法。 使用 Otsu 方法可以避免主观性和繁琐性的阈值选取操作,并能够在一定…

OTSU(最大类间方差法、大津算法)

OTSU是阈值分割中一种常用的算法,它可以根据图像自动生成最佳分割阈值。OTSU的核心思想是类间方差最大化。 import cv2 import numpy as np from matplotlib import pyplot as pltimage cv2.imread("2.bmp") gray cv2.cvtColor(image, cv2.COLOR_BGR2G…

Bootstrap模态框里 再弹模态框

Bootstrap模态框里 再弹模态框 后端代码点击编辑 按钮 将参数赋值隐藏 input 中 , 便于修改 获取对应id修改模态框详情模态框 后端代码 /*** 财务审核使用详情** param request* param id* return*/RequestMapping(params "getUseDatil")ResponseBodypublic JSONAr…

新增模态框

平时我们在VS中也常常会用到模态框,今天我们就来聊聊模态框,但是我要说的是新增模态框,而不是修改模态框喔。在书写模态框代码时,我们还要引用一个插件: 然后就可以进行对代码进行书写了。 我们先说说模态框插件的用法&#xff0c…

html模态框常见问题,模态框无法弹出的问题

问题起因: 昨晚写到了一个模态框,用到了bootstrap和jquery,依赖的js已经复制到项目中,并在Jsp页面上进行了引用,最初的引用如下: 问题描述: 模态框无法正常弹出,使用浏览器查看资源看…

Vue模态框的封装

一、模态框 1、模态框:若对话框不关闭,不能操作其父窗口 2、非模态框:对话框不关闭,可以操作其窗口 二、Vue组件实现模态框的功能 1、模态框是一个子组件 2、显示和隐藏由父组件决定 3、对话框的标题也是由父组件传递的 4、对话框…

Bootstrap之模态框

前言 模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。 用法 您可以切换模态框(Modal)插件的隐藏内…

php什么是模态框,bootstrap模态框有什么用

Bootstrap Modals(模态框)是使用定制的Jquery 插件创建的。 它可以用来创建模态窗口丰富用户体验,或者为用户添加实用功能。您可以在 Modals(模态框)中使用 Popover(弹出框)和 Tooltip(工具提示插件)。(推荐学习:Bootstrap视频教程) 将通过一些实例和解释…

弹出模态框

想必大家都知道弹出层的重要性,在很多的地方都能用到这个方法,所以说这种是非常的普遍的实用性,在大家编写过程中也是很常见的模态框以及弹出层,基本也是一个概念。 插件不可缺少 1.多窗口模式 层叠置顶 Esc 关闭 为什么是说多窗…

模态框动态赋值

模态框动态赋值,可以有多种方式:1、每次一个个填充;2、直接针对模态框中的ID赋值。。。 今天说下同事犯的错误,大家引以为鉴: 首先如图: 他在点击详情链接时,是能拿到相关参数的,进…

html 自定义模态框,自定义对话框、模态框

致敬iphoneX的小刘海....自定义模态框 body{ text-align: center; } #modalBg{ position: absolute; left: 0; top: 0; background-color: rgba(0,0,0,0.2); width: 100%; height: 100%; margin: auto; display: none; } #modal{ min-width: 30%; background-color: white; bor…

html怎么自动弹出模态框,纯CSS实现带点击模态框外部自动关闭的模态框

在网页中我们经常会用到模态框,一般会用于显示表单或者是提示信息。由于模态框涉及到页面上比较多的交互效果,最简单的交互就是打开以及关闭两个操作,而关闭又会涉及是否需要在打开状态下点击模态框外部能够关闭这样的功能,因为这些交互问题,所以一般都会首先考虑到使用Ja…

模态框拖拽

1、点击弹出层,回弹出模态框,并且显示半透明的遮挡层 2、点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层 3、鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动 4、鼠标松开,可…

模态框案例

模态框 模态框在很多网站是很常见的&#xff0c;比如网易云音乐登录&#xff0c;百度登录等网站。 网易云音乐如图&#xff1a; 让我们来看看代码吧&#xff01;&#xff01;注意&#xff1a;这里为了更好的演示效果&#xff0c;增加了遮挡层。 HTML部分&#xff1a; <!-- …