阈值分割

2023-11-03

C++阈值分割
1、阈值分割
  • 5种类型的阈值分割如下:
    在这里插入图片描述

第一种:阈值二值化
蓝色线表示阈值
在这里插入图片描述
在这里插入图片描述

原理:像素值大于阈值时,为最大值,小于阈值则为0。
在这里插入图片描述

第二种:阈值反二值化
在这里插入图片描述
在这里插入图片描述
原理:像素值大于阈值时,为0,否则为设定的最大值。
在这里插入图片描述

第三种:截断
在这里插入图片描述

在这里插入图片描述
原理:像素值大于阈值时,为设定的阈值,否则为像素值本身。

在这里插入图片描述

第四种:阈值取零
在这里插入图片描述
在这里插入图片描述
原理:像素值大于阈值时,为像素值,否则为0.
在这里插入图片描述
第五种:阈值反取零
在这里插入图片描述
在这里插入图片描述
原理:像素值大于阈值时,为0,否则为像素值本身。
在这里插入图片描述

2、代码实现
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

void CallbackFunc(int, void*);

Mat img, gray, dst;
int threshold_num = 2;
int element = 127;
int max_size = 255;
int threshlod_classes = 4;
void CallbackFunc(int, void*);

int main(int argc, char** argv)
{
	img = imread("G:/testpic/img.png");
	if (!img.data)
	{
		printf("cannot load the image");
		return -1;
	}

	namedWindow("input", WINDOW_AUTOSIZE);
	imshow("input", img);
	
	namedWindow("output", WINDOW_AUTOSIZE);
	createTrackbar("thresh type:", "output", &threshold_num, threshold_classes, CallbackFunc);
	createTrackbar("num:", "output", &element, max_size, CallbackFunc);

	waitKey(0);
	return 0;
}

void CallbackFunc(int, void*)
{
	cvtColor(img, gray, COLOR_BGR2GRAY);
	//阈值分割
	threshold(gray, dst, element, max_size, threshold_num);
	imshow("output", dst);
	return;
}

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阈值分割 的相关文章

  • 如何在 CMake Makefile 中包含 OpenCV 库

    我希望你可以帮助我 我有一个简单的 CMakeLists txt 以便在 Leopard 10 5 8 上构建我的项目 我正在使用 CMake 2 8 1 目前这是代码 cmake minimum required VERSION 2 8
  • 使用 cvcreateimage 使用 opencv 创建简单的黑色图像

    来自 OpenCV 新手的非常基本的问题 我只想创建一个图像 每个像素设置为0 黑色的 我在 main 函数中使用了以下代码 IplImage imgScribble cvCreateImage cvSize 320 240 8 3 我得到
  • 使用 Azure 机器学习检测图像中的符号

    4年前我发帖这个问题 https stackoverflow com q 6999920 411094不幸的是 得到的一些答案超出了我的技能水平 我刚刚参加了一次构建巡演会议 他们在会上谈论了机器学习 这让我想到了使用 ML 来解决我的问题
  • 附加信息:OpenCV:使用 c# 的不同大小的对象

    目前 我的 EmguCV c 代码面临问题 我试图从数据库中识别我的图像 但它不起作用 一旦检测到我的脸 它就会崩溃 然后会出现此错误 附加信息 OpenCV 不同大小的对象 我尝试寻找这个错误 但我一无所知 这是我的代码 Action f
  • 检测骰子的上侧

    是否可以检测骰子的上面 虽然从顶部看这将是一项简单的任务 但从许多角度来看 可以看到多个侧面 Here is an example of a dice feel free to take your own pictures 您通常想知道自己
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 如何计算立体视觉的基本矩阵

    我正在尝试编写一些代码来计算基本矩阵以确定立体图像之间的关系 我从大多数人推荐的 Hartley 和 Zisserman 书开始 但它没有任何实际示例 并且示例代码是在 MATLAB 中 而我没有 然后我切换到这个比较实用 里面有实际例子
  • 如何使用 OpenCV 从图像中获取调色板 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想提取图像的调色板 类似于此 来自 我需要它来提取特定的颜色 如黄色 绿色和棕色 并显示该颜色覆盖的区域的百分比 另外 我可以添加更
  • OpenCV:使用 StereoCamera 系统对颜色标记进行 3D 姿态估计

    我有一个立体摄像系统并使用两者正确校准它 cv calibrateCamera and cv stereoCalibrate My reprojection error似乎没问题 凸轮0 0 401427 凸轮1 0 388200 立体声
  • 在 Android 中使用 OpenCV 查找图像匹配

    我正在尝试构建一个 Android 应用程序 该应用程序可以比较设备相机拍摄的照片 以在一组图像中找到匹配项 我已经在 Android Studio 上配置了 OpenCV 但仅此而已 有人可以通过链接到资源或建议教程来提供帮助吗 Open
  • 使用 SURF 在检测到的对象周围绘制矩形

    我正在尝试从涉及冲浪检测器的以下代码中检测对象 我不想绘制匹配项 我想在检测到的对象周围绘制一个矩形 但不知何故我无法获得正确的单应性 请任何人指出在哪里我走错了 include
  • 使用 OpenCV 和 Python 叠加两个图像而不丢失颜色强度

    如何叠加两个图像而不损失两个图像的颜色强度 我有图像1和图像2 2 我尝试使用 0 5 alpha 和 beta 但它给我的合并图像的颜色强度只有一半 dst cv2 addWeighted img1 0 5 img2 0 5 0 但是当我
  • 将yuv420p原始数据转换为opencv图像

    我有来自 rtmp 服务器的原始数据 像素格式为 yuv420p 我使用管道来读取数据 但我不知道如何将原始数据解码为图像 command ffmpeg command extend loglevel fatal i rtmp localh
  • python openCV 中的人口普查变换

    我开始在一个与立体视觉相关的项目中使用 openCV 和 python 我找到了关于使用 openCV 在 C 中进行人口普查转换的文档页面 link http docs opencv org 3 1 0 d2 d7f namespacec
  • 从凸点获取角点

    我编写了算法来提取图像中显示的点 它们形成凸形 我知道它们的顺序 如何从这些点中提取角点 顶部 3 个和底部 3 个 我正在使用opencv 如果你已经有了物体的凸包 并且该包包含角点 那么你需要做的就是简化包直到它只有 6 个点 有很多方
  • 如何平滑循环列向量

    这是一个 OpenCV2 问题 我有一个矩阵代表closed空间曲线 cv Mat
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 在 HSV 颜色空间内定义组织学图像掩模的颜色范围(Python、OpenCV、图像分析):

    为了根据颜色将组织学切片分成多个层 我修改了 OpenCV 社区提供的一些广泛分布的代码 1 我们的染色程序用不同的颜色标记组织横截面的不同细胞类型 B 细胞为红色 巨噬细胞为棕色 背景细胞核为蓝色 I m interested in se
  • OpenCV OpenNI 校准kinect

    我使用 home 通过 kinect 进行捕捉 capture retrieve depthMap CV CAP OPENNI DEPTH MAP capture retrieve bgrImage CV CAP OPENNI BGR IM

随机推荐

  • 一阶同余算法,模拟随机变量,筛选法,合成法,方差减少技术,蒙特卡洛积分,控制变量法,统计实验

    第一章 0 1 上均匀随机数的产生 一阶线性同余算法 思想 Wn a W0 c m 其中a称为乘数 W0为初始值 c为增量 m称为模数 当a 0时为和同余法 当c 0时为乘同余法 c 0时为混合同余法 乘数 增量和模数的选取可以多种多样 只
  • PCI配置空间简介

    转自 作为自己学习笔记PCI配置空间简介 腾讯云开发者社区 腾讯云 tencent com https cloud tencent com developer article 1199972 from 15425 一 PCI配置空间简介 P
  • Android : 读取assets目录下的json文件

    public class AssetsFileUtil 读取assets目录下的json文件 param context 上下文 param fileName 文件名称 return public static String getJson
  • 公司挖来一个阿里Java大神,生产环境故障调优很溜

    目录 线上系统是如何运行的 CPU 是如何并发运行多个线程的 线程太多会导致什么样的后果 经常听说的 CPU 使用率和负载到底是什么 如何通过 top 命令来查看 CPU 使用率和负载 今天给大家分享一个知识点 就是平时我们线上服务器部署的
  • HTTP请求中的传参方式form data、 request payload、query string parameters三者对比

    目录 一 GET请求 Query String Parameters 二 POST请求 2 1 FormData 2 2 Request Payload 补充 Post请求总结 HTTP请求中不同的请求方式和设置不同的Content Typ
  • Qt for Android:自定义安卓Application和Activity

    Demo 链接 https github com gongjianbo HelloQtAndroid git 1 前言 安卓的 Application 类相当于 Qt QApplication 维护应用程序全局状态 Application文
  • 马原刷题工具

    选择题库文件word后 就能开始刷题了 导入题库时会自动生成一个docx文件和json文件 想要重新导入就删除json文件 题库下载 点我下载 要安装的库 pywin32 python docx author Bre Athy contac
  • 代码随想录算法训练营第四十一天| 343. 整数拆分 96.不同的二叉搜索树

    今天两题都挺有难度 建议大家思考一下没思路 直接看题解 第一次做 硬想很难想出来 343 整数拆分 代码随想录 视频讲解 动态规划 本题关键在于理解递推公式 LeetCode 343 整数拆分 哔哩哔哩 bilibili public in
  • 详解Cocos2d-X中宏CC_DLL(转)

    在cocos2d x的源码中 经常可以看到宏CC DLL的使用 比如在类CCScene的定义中 class CC DLL CCScene public CCNode public CCScene virtual CCScene bool i
  • cass等距离等分线段的命令键_教你用CAD将线段等分,弧线也可定距等分!

    定距等分的命令是 MEASURE 快捷键是 me 定数等分的命令是 DIVIDE 快捷键是 div 注意了 命令不分大小写 如下图 是一根长为300mm 的线段 弧线也可以哦 选择 格式 点样式 如下图 先选择好点样式的图标 记得有个图标大
  • 操作系统多线程实现_操作系统中的线程实现

    操作系统多线程实现 Each process has an address space There is one thread of control in every traditional OS Sometimes it is viabl
  • Centos7 使用 chronyd 进行时钟同步

    背景 最近要做阿里云迁移 IDC 机房 整理下 Linux 运维基线 简单记录 以备后用 安装 默认已经安装 yum install y chrony 配置文件 cat etc chrony conf Use public servers
  • 如何看待职场的越级汇报问题

    越级汇报这个词 大家或许听过 在一些公司 甚至明令禁止越级汇报 这个词很容易跟打小报告等等牵扯在一起 越级汇报单纯从利弊来说 可能弊大于利 下属隔着自己直属领导向上越级反馈问题 说明对现有领导的不信任 这里面会体现出很多问题 作为管理需要花
  • 记一次线上Java程序导致服务器CPU占用率过高的问题排除过程

    原文链接 http www jianshu com p 3667157d63bb 1 故障现象 客服同事反馈平台系统运行缓慢 网页卡顿严重 多次重启系统后问题依然存在 使用top命令查看服务器情况 发现CPU占用率过高 2 CPU占用过高问
  • 小程序压缩图片尺寸

    有api是压缩质量的 wx compressImage src originPath 图片路径 quality 90 压缩质量 success function res res tempFilePath 结果路径 压缩尺寸没有api 需要自
  • mysql的JDBC架包下载及简单测试连接

    一 下载JDBC连接所需要的jar包 选择Communityhttps www mysql com downloads 二 导入jar包 1 解压下载的安装包 2 eclispe项目导入jar包 方式一 Build Path gt Conf
  • 在Word中调整图片大小会自动改变怎么办?

    在Word中调整图片大小会自动改变怎么办 在Word中有多个图片 需要调整到大小一致 可是拉动 或者设置图片大小后 图片会自动改变 始终无法将所有图片调到大小一致 别担心 鼠标右键点击图片 选择大小和位置 取消勾选 锁定纵横比 相对原始图片
  • 最新版mysql-8.0.32-winx64安装及配置

    目录 一 下载 二 配置初始化文件my ini 请注意 这里的配置是什么含义呢 三 安装mysql 四 配置环境变量 编辑 五 cmd命令提示符 常用指令 总结 一 下载 Mysql官网下载https www mysql com cn do
  • JavaScript的闭包机制

    JavaScript的闭包是指函数可以访问其外部作用域中的变量 即使函数在外部作用域之外被调用 这是因为函数在创建时会创建一个闭包 它包含了函数的代码和函数创建时所处的作用域 当函数被调用时 它可以访问闭包中的变量 即使这些变量在函数被调用
  • 阈值分割

    C 阈值分割 1 阈值分割 5种类型的阈值分割如下 第一种 阈值二值化 蓝色线表示阈值 原理 像素值大于阈值时 为最大值 小于阈值则为0 第二种 阈值反二值化 原理 像素值大于阈值时 为0 否则为设定的最大值 第三种 截断 原理 像素值大于