图像处理--阈值处理

article/2025/9/19 14:03:46

图像二值化

图像二值化就是将图像上的像素点的灰度值设置为两个值,一般为0(表示黑色)和255(表示白色),可以将整个图像呈现出明显的黑白效果。
最常用的方法就是先将图像灰度处理,然后设定一个阈值,用该阈值将图像分成两个部分,即大于阈值的部分和小于阈值的部分,然后再将两部分图像分别赋予不同像素值。
图像二值化有利于图像的进一步处理,使图像变得简单,并且减少了数据量,可以凸显出感兴趣的目标轮廓。
阈值处理根据不同的情况,可以选择三种处理方式:全局阈值处理,自适应阈值处理和Otsu阈值处理。

全局阈值处理

全局阈值处理会按照设定好的阈值来处理整个图像。

import cv2
img=cv2.imread('test.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret, img2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
#这里阈值为127
#maxval设为255,所以处理后的图像是黑白图像
cv2.imshow("BINARY", img2)
cv2.waitKey(0)    
cv2.destroyAllWindows()

在这里插入图片描述

自适应阈值处理

自适应阈值会局部计算每一个区域阈值来处理图像。
对于一幅色彩均衡的图像,一般直接将阈值设为127,这个阈值是经验获得的,设置这个阈值比较合适。但是,当有的图像色彩分布不均衡时,用127这个阈值,效果就会很差,此时就要考虑别的阈值处理方法,比如自适应阈值处理方法或者Otsu方法,而自适应阈值就是在图像上每一个小区域计算与其对应的阈值。

import cv2
img=cv2.imread('test.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img2 = cv2.adaptiveThreshold(img_gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY,5,3)
cv2.imshow("BINARY", img2)
cv2.waitKey(0)    
cv2.destroyAllWindows()

在这里插入图片描述

在这里插入图片描述

Otsu阈值

Otsu阈值会自动计算出合适的阈值。
Otsu方法又称最大类间方差法,通过把像素分配为两类或多类,计算类间方差,当方差达到最大值时,类分割线(即灰度值)就作为图像分割阈值。

import cv2
img=cv2.imread('test.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret, img2 = cv2.threshold(img_gray, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
#这里阈值为127
#maxval设为255,所以处理后的图像是黑白图像
cv2.imshow("BINARY", img2)
cv2.waitKey(0)    
cv2.destroyAllWindows()

Otsu阈值处理就是在threshold函数的参数type中,多传入一个参数cv2.THRESH_OTSU就可实现Otsu阈值分割,例如:
cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU),这里就要把thresh参数设为0,type参数设置为“cv2.THRESH_BINARY+cv2.THRESH_OTSU”。


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

相关文章

两种划分阈值的方法

风险等级划分的时候可以降低主观性的一些系统方法 方法一:分层聚类法 凝聚层次聚类/分裂层次聚类 重点:确定层次聚类的簇数,画出树状图,基本就能得到你的区间范围,但数据量大的时候还是得再用代码跑 方法二&#xf…

“阀值”与“阈值”的区别

真相请看下图红色框里内容(手动微笑) 啥??你跟我说没看懂,好吧,说的再明白点,“阀(f)值”是一个错误的用词,其正确用法是“阈(y)值”。…

【p116】

#查询score表中为196004,课程号为1201的学生成绩 #查询student表中姓周的学生情况 #查询数学成绩第2~5名的信息 #查询通信专业最高分的学生的情况 #查询1004课程的最高分,最低分,平均成绩 #查询至少有3名学生选修且以4开头的课程号和平均分数 #将计算机专…

《JDK学习》使用JDK的keytool生成p12证书

由于前段时间在研究itext技术中的签章技术中遇到了数字签名的问题,需要用到p12证书,因此就撰写一篇用我们jdk自带的keytool 工具生成p12证书的方法供各位交流。 keytool 简介 keytool 是java 用于管理密钥和证书的工具. 其功能包括: 创建并管…

日志 P11,P12

日志: 复制一个04.内容与03是一样的. 标准日志文件: 在mybatis-config.xml中写入setting设置,配置日志文件(注意setting只能放在properties与typeAliases的中间)。 setting中参数的内容可以在mybatis官方文档查找。…

xcode ios 怎么导入p12证书

注意:在哪台电脑上生成的根证书才能在哪台电脑上导出p12,在另外的电脑上是没有导出p12的选项的(或者是灰的点不了) 1.双击p12文件,将其导入到钥匙串,或者直接把p12文件拖入到钥匙串里 2.如下图,…

iOS证书(.p12)和描述文件(.mobileprovision)申请

原文链接 : iOS证书(.p12)和描述文件(.mobileprovision)申请 如果你从事过iOS开发,大概都会了解到iOS有两种证书和描述文件: 证书类型使用场景开发(Development)证书和描述文件用于开发测试,在 HBuilderX 中打包后可在真机环境调试发布(Dist…

java工具keytool生成p12数字证书文件

最近做毕设的时候需要用到数字证书,于是就用java来生成 Keytool是用于管理和证书的工具,位于%JAVA_HOME%/bin目录** 首选找到keytool.exe 然后在上面的路径显示框中输入CMD,然后回车 进入后输入以下代码 keytool -genkeypair -alias serv…

P12:Sequential的使用

1、CIFAR10 model的结构: 2、定义网络: class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.conv1 Conv2d(3, 32, 5, stride1, padding2)self.maxpool1 MaxPool2d(kernel_size2)self.conv2 Conv2d(32, 32, kernel_size5,…

仅使用p12文件和mobileprovision文件打包

前言:iOS发展到现在,必须使用开发者账号才能运行,打包;但有时候跟别人合作开发,别人不会把开发者账号密码给你,只给了一个P12证书和mobileprovision描述文件(如下图) 我们需要利用这两个文件打包。 1.双击…

P12 JWindow 窗口

P12 JWindow 窗口 1.概述2.JWindow 代码实例3.效果演示4.实现鼠标拖动 JWindow 窗口5.效果演示 系统:Win10 Java:1.8.0_333 IDEA:2020.3.4 Gitee:https://gitee.com/lijinjiang01/JavaSwing 1.概述 JWindow:一个容器&…

p12文件和provision profile文件作用

一:p12 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了 一般在我们的证书界面中应该只有一个开发证书…

职级P1到P12等级体系详解

人力资源管理中,职级是一项非常重要的概念,对于企业的薪资管理、晋升制度以及人才培养都有着至关重要的作用。而职级p1到p12则是常见的职级等级体系。 一、职级的含义 职级是指职位在企业内部的等级,通常是按照工作职责、技能要求、工作经验…

Elasticsearch:使用不同的 CA 更新安全证书 (一)

如果你必须添加组织中的新 CA 证书,或者你需要自己生成新 CA,请使用此新 CA 签署新节点证书并指示你的节点信任新 CA 证书。在今天的展示中,我将来演示如何更新一个 Elasticsearch 8.x 集群的 CA 证书。 Elasticsearch:使用不同的…

四大私募量化策略解析——阿尔法、套利、期货CTA、高频交易

近年来,随着证券市场规模的不断扩大,金融衍生产品不断推出, 投资策略和盈利模式发生根本性改变,投资复杂程度日益提高,导致证券市场投资者的构成比例出现了相应的变化。专业投资管理人的占比越来越大,且有加速之势。另一方面,量化对冲投资策略以其中低风险稳定收益的特性,将成为…

算法交易高频交易

产生背景 这程序化交易、自动化订单生成器和自动化订单路由系统主要被卖方公司用于执行下列业务:委托/自营交易、代理机构/客户的设施以及跨多资产类别。交易策略,包括指数替换、风险修正和期转现的清算等。当期货市场相对于现货市场的定价过高的时候&a…

我是高频交易员

|证券时报记者 沈宁 早上8点30分,维多利亚港畔,香港中环写字楼的玻璃幕墙反射出耀眼的光,一群步履匆匆的金融从业人员开始了新一天的工作。刚到办公室的李兆明(化名),无暇欣赏海景,…

目前国内的高频交易系统的延迟做到了什么水平?

【BruceAshbey的回答(23票)】: 正好昨日,国内CTA这块最强的私募富善投资(Foreseefund,他们家的微信公众号也是这个)发了这样一个PPT,还是很适合大家了解现在这个市场的,经林总同意,我把相关内容…

高频交易是如何发展起来的?

所谓高频交易(High Frequency Trading),简单说就是指利用计算机技术在短时间内快速进行多次买入卖出的交易行为,策略对市场的预测区间一般从几微秒到几分钟。 需要注意,高频交易只是自动化交易的一种形式,…