threshold()

 

一、threshold()函数

1.1 threshold()函数各参数详解

double threshold(InputArray src,OutputArray dst,double thresh,double maxval,int type)

Ø  第一个参数,InputArray类型的src,输入数组,填单通道 , 8或32位浮点类型的Mat即可。

Ø  第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型。

Ø  第三个参数,double类型的thresh,阈值的具体值。

Ø  第四个参数,double类型的maxval,当第五个参数阈值类型type取 THRESH_BINARY 或THRESH_BINARY_INV阈值类型时的最大值.

Ø  第五个参数,int类型的type,阈值类型。

第五参数有以下几种类型

0: THRESH_BINARY  当前点值大于阈值时,取Maxval,也就是第四个参数,下面再不说明,否则设置为0

1: THRESH_BINARY_INV 当前点值大于阈值时,设置为0,否则设置为Maxval

2: THRESH_TRUNC 当前点值大于阈值时,设置为阈值,否则不改变

3: THRESH_TOZERO 当前点值大于阈值时,不改变,否则设置为0

4:THRESH_TOZERO_INV  当前点值大于阈值时,设置为0,否则不改变

 

1.2调用示例 

Mat ScrImage, OutImage, OutImage1, OutImage2, OutImage3;ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");threshold(ScrImage, OutImage1, 200, 255, CV_THRESH_BINARY);//固定阈值分割imshow("【固定阈值处理:二值化】", OutImage1);

 

二、adapativeThreshold()函数

2.1 adapativeThreshold()函数各参数详解

void cvAdaptiveThreshold(constCvArr* src,CvArr* dst,double max_value,int adaptive_method =CV_ADAPTIVE_THRESH_MEAN_C,int threshold_type =CV_THRESH_BINARY,int block_size = 3,double param1= 5);

Ø  src 输入图像.

Ø  dst 输出图像.

Ø  max_value使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV的最大值.

Ø  adaptive_method自适应阈值算法使用:CV_ADAPTIVE_THRESH_MEAN_C 或 CV_ADAPTIVE_THRESH_GAUSSIAN_C (见讨论).

Ø  threshold_type

Ø  取阈值类型:必须是下者之一

CV_THRESH_BINARY,

CV_THRESH_BINARY_INV

block_size用来计算阈值的象素邻域大小: 3, 5, 7,...

param1与方法有关的参数。对方法CV_ADAPTIVE_THRESH_MEAN_C 和CV_ADAPTIVE_THRESH_GAUSSIAN_C, 它是一个从均值或加权均值提取的常数(见讨论), 尽管它可以是负数。

 

2.2调用示例 

Mat ScrImage, OutImage, OutImage1, OutImage2, OutImage3;ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");adaptiveThreshold(ScrImage, OutImage2, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 31, 10);//自适应阈值分割imshow("【自动阈值处理:二值化】", OutImage2);

 

三、完整程序

#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/opencv.hpp>#include <vector>#include <cstdio>using namespacestd;using namespacecv;int main(){Mat ScrImage, ScrImgaeCopy1, OutImage, OutImage1, OutImage2,OutImage3, OutImage4, OutImage5, OutImage6, OutImage7, OutImage8, OutImage9;ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg",0); //读入图像 \\image1.jpg brownbug.jpg whitebug.jpgimshow("【原图】", ScrImage);threshold(ScrImage,OutImage1, 200, 255, CV_THRESH_BINARY);//固定阈值分割adaptiveThreshold(ScrImage,OutImage2, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 31, 10);//自适应阈值分割imshow("【固定阈值处理:二值化】", OutImage1);imshow("【自动阈值处理:二值化】", OutImage2);waitKey(0);return NULL;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何提升python编程能力_Python编程小白如何提升自己的编程能力

1.不使用分号 使用分号在Python中是可选的&#xff0c;对比其他面向对象语言&#xff0c;你不需要在每一条语句后面使用分号。 这看起来很简单&#xff0c;似乎也节省不了多少时间;但一旦你的代码量扩展到数千号&#xff0c;这些分号就变得分心且没有必要键入。 2.找一个称手的…

javascript时间戳和日期字符串相互转换代码

一、日期字符串转时间戳 // 获取当前时间戳(以s为单位)// 第一种方式var timestamps new Date();timestamps timestamps / 1000;// 第二种方式var timestamp Date.parse(new Date());timestamp timestamp / 1000;// 第三种方式var date new Date("2014-07-10 10:21:1…

如何使用Spring设置安全的REST API

众所周知&#xff0c; Spring Boot是一个工具包&#xff0c;可以快速轻松地开发功能强大的Web服务。 它非常模块化&#xff0c;可以与其他框架和工具很好地配合使用。 在本教程中&#xff0c;我将向您展示通过使用Speedment作为ORM对现有SQL数据库设置RESTful API多么容易。 背…

OpenCV imread()函数

imread&#xff08;const string& filename, int flags1&#xff09; 例如&#xff1a; //读入图像单通道&#xff0c;即灰度图 ScrImage imread("C:\\Users\\Desktop\\opencv_1.jpg", 0);imread函数从文件中加载图像并返回该图像。如果该图像不能被读取&#x…

layui横向时间线_炒股一生只买一种股票:股价K线形成这样后,必然有一波拉升...

在上升趋势中做多; 在下跌趋势中做空; 在震荡区间顶部做空、底部做多。大趋势像是遛狗的主人&#xff0c;他走的比较慢&#xff1b;狗就像中短期的走势&#xff0c;活蹦乱跳&#xff0c;有时候跑过头&#xff0c;又会回来找主人一下&#xff0c;然后再去东闻闻、西嗅嗅。最后你…

最小二乘

1.最小二乘的背景 这种东东的来源&#xff0c;比较容易找到而且比较靠谱的途径自然是wiki百科了&#xff0c;以下部分的内容来自wiki百科&#xff1a; 1801年&#xff0c;意大利天文学家朱赛普皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后&#xff0c;由于谷神星运…

团队冲刺计划第八天

1、 所有工作的预期时间&#xff1a;96h 目前已经花的时间:78h 还剩余的时间:18h 2、任务看板 3、冲刺会议照片&#xff1a; 4、燃尽图&#xff1a; 转载于:https://www.cnblogs.com/532BEST/p/10871189.html

[Linux]Linux下经常会用到的简单实例(持续更新)

1、查找某些进程并结束他们&#xff1a; ps -elf | grep 进程关键字 | awk {print $4}| xargs kill -9 解析&#xff1a; ps -elf 的 -e 代表列出所有进程&#xff0c;-l 代表长格式&#xff0c;-f 代表完整的格式 grep的工作方式是这样的&#xff0c;它在一个或多个文件中搜索…

elupload获取文件名与路径_Uipath获取文件名,路径,扩展名等操作

Uipath获取文件名&#xff0c;路径&#xff0c;扩展名等操作东京IT青年前线​www.rpatokyo.com使用Assign Activity&#xff0c;声明一个字符串变量为str获取文件路径代码System.IO.Path.GetDirectoryName(“C:UsersAdministratorDesktop备课二回目css基础.pptx”)运行&#xf…

servlet3.0新特性_查看Servlet 3.0的新增功能

servlet3.0新特性随着JEE6规范上市&#xff0c;在企业应用程序领域中如何开发应用程序方面发生了一些重大变化。 在本文中&#xff0c;我将介绍有关Web应用程序开发的一些更改。 首先&#xff0c;请告别web.xml部署描述符&#xff08;至少是其中的一部分&#xff09;。 好吧&am…

Android(2)-----Fragment //(第七周后的知识)

1、Fragmentandroid.app.Fragment版本&#xff1a;//v4版本是为了由3.0向下兼容到1.6&#xff0c;改那个Fragment文件里的import android.support.v4.app.Fragment;换成 import android.app.Fragment;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01…

延迟加载是一种代码气味

您见过那些具有许多属性的巨大物体吗&#xff1f; 这些域对象由于不希望从数据库检索太多信息而在其中使用延迟加载&#xff1f; 我敢打赌你有这种令人怀疑的快乐。 今天&#xff0c;我想与大家分享我对它们的印象- 使用延迟加载应该被视为一种代码味道&#xff01; 让我解释…

c#时间函数

我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间&#xff1a;如&#xff1a;日期&#xff08;2008-09-04&#xff09;、时间&#xff08;12&#xff1a;12&#xff1a;12&#xff09;、日期时间&#xff08;2008-09-04 12&…

gbk编码在线转换工具_TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具

本文要推荐的[TOOLFK]在线汉字/字母/人民币/简繁体转换工具,提供简繁体在线转换、人民币大写转换、字母大小写互转、汉字转拼音在线日常使用工具。網站名稱&#xff1a;ToolFk網站鏈結&#xff1a;https://www.toolfk.com/工具链接&#xff1a;https://www.toolfk.com/tool-onl…

hive的metatable学习

一、存储Hive版本的元数据表&#xff08;VERSION&#xff09; &#xfffc; &#xfffc; 二、Hive数据库相关的元数据表&#xff08;DBS、DATABASE_PARAMS&#xff09; DBS --存储Hive中所有数据库的基本信息 &#xfffc; &#xfffc; DATABASE_PARAMS --该表存储数据库的相…

clickhouse官方文档_clickhouse分析:结合grafana和metabase完成监控和数据分析

点击上方蓝字关注我们“ 关于clickhouse的监控和可视化界面&#xff0c;想必刚接触到ch的人是一头雾水&#xff0c;大厂往往会给ch集群定制各种监控和可视化分析&#xff0c;普通用户就需要我们自己寻求现成的开源工具&#xff0c;在一些常见的开源工具上&#xff0c;我们可以较…

hazelcast_带弹簧的Hazelcast分布式执行

hazelcastExecutorService功能是Java 5附带的&#xff0c;位于java.util.concurrent包中。 它扩展了Executor接口&#xff0c;并提供了线程池功能来执行异步简短任务。 建议使用Java Executor服务类型来查看基本的ExecutorService实现。 ThreadPoolExecutor也是ExecutorServic…

OpenCV测试程序

#include<opencv2\opencv.hpp> using namespace cv; int main() {Mat picture imread("1.jpg");//图片必须添加到工程目下//也就是和test.cpp文件放在一个文件夹下&#xff01;&#xff01;&#xff01;imshow("测试程序", picture);waitKey(201509…

Java中的do-while循环——通过示例学习Java编程(11)

作者&#xff1a;CHAITANYA SINGH 来源&#xff1a;https://www.koofun.com/pro/kfpostsdetail?kfpostsid22&cid0 在上一篇教程中&#xff0c;我们讨论了while循环。在本教程中&#xff0c;我们将讨论java中的do-while循环。do-while循环类似于while循环&#xff0c;但是它…

centos7离线安装mysql_Centos7离线安装metasploit详细教程

最近需在内网服务器搭建安全工具环境&#xff0c;苦于内网服务器无法访问互联网&#xff0c;需要很多依赖包比较麻烦&#xff0c;尤其metasploit无互联网安装特别麻烦&#xff0c;而且网上metasploit的安装教程均是在线一键安装教程&#xff0c;对于无法访问互联网的服务器进行…