阈值的求解(两峰之间)

简介: 阈值的求解(两峰之间)
import cv2
import numpy as np
image=cv2.imread('4.jpg')
# image=cv2.resize(image1,(200,200))
image_gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
w,h=image_gray.shape
px_count=np.zeros(256)
#照片长、宽分别是w,h
for w_w in range(w):
    for h_h in range(h):
        px_count[image_gray[w_w,h_h]]+=1
# print(px_count)
#找最大次数(最大峰)
max_index=np.argmax(px_count,axis=0)
#找次大峰
px_count[max_index]*=-1
next_max_index=np.argmax(px_count,axis=0)
px_count[next_max_index]*=-1
#找谷值
if max_index>next_max_index:
    min_index=np.agrmin(px_count[next_max_index:max_index+1],axis=0)
    min_index+=next_max_index
else:
    min_index=np.argmin(px_count[max_index:next_max_index+1],axis=0)
    min_index+=max_index
#TODO.1
# image_gray 上面转换为黑白的照片;
# min_index  谷值
#0~255 代表不同的颜色,min_index为阈值,大于阈值的全部置为255(白色)
_,image_binary=cv2.threshold(image_gray,min_index,255,cv2.THRESH_BINARY)
cv2.imshow('the original image',image)
cv2.imshow('black and white figure',image_gray)
cv2.imshow('the threshold figure',image_binary)
if cv2.waitKey(0)&0xFF==27:
    cv2.destroyAllWindows()

image.png

image.png

4.jpg

image.png

照片来源于网络,侵权请联系我删除

目录
相关文章
|
关系型数据库 MySQL 应用服务中间件
[Docker]容器内文件修改
【8月更文挑战第21天】[Docker]容器内文件修改
842 13
|
机器学习/深度学习 自然语言处理 知识图谱
|
Java API
Java中的Lambda表达式:一种简洁而强大的编程工具
本文将深入探讨Java中的Lambda表达式,它是一种简洁而强大的编程工具。通过本文,您将了解Lambda表达式的基本概念、语法结构以及使用方法。我们还将介绍Lambda表达式的应用场景和最佳实践,并通过实例演示其在简化代码、提高可读性和编写并行代码方面的优势。最后,我们将讨论使用Lambda表达式时需要注意的一些事项和限制。无论您是初学者还是有经验的Java开发人员,都可以从本文中获得有价值的知识和技能。现在,让我们一起探索Java中Lambda表达式的奇妙世界吧!
175 10
|
机器学习/深度学习 编解码 自动驾驶
【论文解读】MV3D-Net 用于自动驾驶的多视图3D目标检测网络
​MV3D-Net融合了视觉图像和激光雷达点云信息;它只用了点云的俯视图和前视图,这样既能减少计算量,又保留了主要的特征信息。随后生成3D候选区域,把特征和候选区域融合后输出最终的目标检测框。 论文地址:Multi-View 3D Object Detection Network for Autonomous Driving 开源代码:GitHub - bostondiditeam/MV3D: Multi-View 3D Object Detection Network for Autonomous Driving
1342 0
|
Python
Python.-判断语句docx
Python.-判断语句docx
111 1
|
存储 编译器 C++
【C++/STL】list(常见接口、模拟实现、反向迭代器、)
【C++/STL】list(常见接口、模拟实现、反向迭代器、)
121 0
|
C语言
【C语言】深入解开指针(三)1
【C语言】深入解开指针(三)
|
领域建模 uml
面向对象分析与设计
一、面向对象分析与设计 面向对象分析与设计(Object-oriented Analysis and Design,简称OOAD)是一种软件开发方法论,旨在通过将现实世界的问题抽象为对象的集合来进行系统分析和设计。 面向对象分析(Object-oriented Analysis,简称OOA)是指通过识别和描述系统中的对象及其相互关系来分析问题。在面向对象分析中,重点关注的是问题域中的实体、属性、行为以及它们之间的关系。通过对问题域的深入理解,可以识别出系统中的关键对象,并确定它们的属性和行为。 面向对象设计(Object-oriented Design,简称OOD)是指根据面向对象分析的结果,
378 0
lodash 比较两个值的大小
lodash 比较两个值的大小
673 0
|
存储 SQL Oracle
Oracle索引
Oracle索引
227 0

热门文章

最新文章