二值化-程序员宅基地

一、二值化的定义

从维基百科拿过来的定义:

 

二值化图像分割的一种方法。在二值化图象的时候把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度设为灰度极小值,从而实现二值化。

根据阈值选取的不同,二值化的算法分为固定阈值自适应阈值。 比较常用的二值化方法则有:双峰法P参数法迭代法OTSU法等。

 

二、 二值化的算法

 

这里就简单讲一下固定阈值的算法:

dst(x,y) = \fork{\texttt{maxValue}}{if $src(x,y) > T(x,y)$}{0}{otherwise}

 

拿最简单的灰度图来说如果大于给定值,则设置为255,如果小于则设置为0

 

对于自适应阈值的意思,应该是统计出图像中直方图的分布情况,然后取分布比较多的值当做阈值。

 

三代码

void binImage(Mat input ,Mat &out, int threshold)
{
		// accept only char type matrices
    CV_Assert(input.depth() != sizeof(uchar));

	out.create(input.cols,input.rows,CV_8UC1);

    int nRows = input.rows;
    int nCols = input.cols;

    if (input.isContinuous() && out.isContinuous())
    {
        nCols *= nRows;
        nRows = 1;
    }

    int i,j;
    uchar* p;
	uchar* q;
    for( i = 0; i < nRows; ++i)
    {
        p = input.ptr<uchar>(i);
		q = out.ptr<uchar>(i);
        for ( j = 0; j < nCols; ++j)
        {
			if( p[j]> threshold)
				q[j] = 255;
			else
				q[j] = 0;
			
        }
    }

}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43432093/article/details/105842683

智能推荐

怎么样将java打包成jar包_java如何打包成压缩后jar包-程序员宅基地

文章浏览阅读2.3k次,点赞2次,收藏10次。使用工具:eclipse步骤:1、运行eclipse2、选择需要打包成jar包的java文件3、右击选择-->Export4、选择Java下面的JAR file-->next5、勾选如下图,然后Next-->Next注意:JAR file输入框中需要填写打包好的jar文件存放的目录6、确认需要打包的文件,如下图选择好之后,点击fi_java如何打包成压缩后jar包

Python封装了很好用的结构和方法,为啥还要学数据结构?_python封装好的数据结构-程序员宅基地

文章浏览阅读7.9k次,点赞83次,收藏416次。大家前面学过Python基础知识的都知道,Python为我们封装了列表、字典等高级数据类型,并且他们都带有一系列增、删、改、除的方法,让我们能够很方便的处理一些问题。以目前我们这些人的技术水平可能觉得这些东西就够了,照样能够快速的解决很多的问题。可是随着知识的深..._python封装好的数据结构

计算机应用能力window,计算机应用能力考试教材:Windows XP操作系统(题库版)...-程序员宅基地

文章浏览阅读199次。计算机应用能力考试教材:Windows XP操作系统(题库版)语音编辑锁定讨论上传视频《计算机应用能力考试教材:WindowsXP操作系统(题库版)》是2011年电子工业出版社出版的图书,作者是全国专业技术人员计算机应用能力考试专家委员会。书名计算机应用能力考试教材:Windows XP操作系统(题库版)作者全国专业技术人员计算机应用能力考试专家委员会ISBN97871211364..._计算机应用能力考试windows xp

MONGODB(四)——DBObject与JavaBean转换-程序员宅基地

文章浏览阅读404次。一、DBObject 转为 JavaBean /** * 将实体Bean对象转换成DBObject * */ public static <T> DBObject beanToDBObject(T bean) throws IllegalArgumentException, IllegalA..._mongodb dbobject转javabean

在vscode中引用uni-app扩展组件(uni-ui),不用手动导入_vscode uniapp 自动引入组件easycom-程序员宅基地

文章浏览阅读903次。一、在src下的pages.json文件里面写入easycom规则。三、接下来运行项目就能使用啦,不用手动导入组件。二、npm下载uni-ui。_vscode uniapp 自动引入组件easycom

计算机科学导论第8章答案,第8章计算机科学导论.ppt-程序员宅基地

文章浏览阅读304次。第8章计算机科学导论计算机科学导论 1. 经典压缩工具WinRAR 它采用了独特的多媒体压缩算法和紧固式压缩法,这点更是针对性地提高了其压缩率。 它默认的压缩格式为RAR,该格式压缩率要比ZIP格式高出10%~30%,同时它也支持ZIP、ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR类型压缩文件。 8.5.4 各种实用工具软件 (1) 压缩文件 在“常规”标签项中输..._计算机科学导论第四版第八章答案

随便推点

人工智能 -- NLP:文本去掉停用词stopwords_nlp 去除停用词-程序员宅基地

文章浏览阅读4.2k次。人工智能:文本去掉停用词stopwords为了彻底搞懂本质,写的非常细!(1)准备停用词import pandas as pdimport jieba# 准备停用词stopwords = pd.read_csv("data/stopwords.txt", index_col=False, quoting=3, sep='\t', names=['word'], encoding='u..._nlp 去除停用词

MFC-vs资源试图添加窗口以及类视图添加窗口消息_类视图消息-程序员宅基地

文章浏览阅读504次。vs资源试图添加窗口可修改ID,会自动创建对于ID数据的,在.h文件中enum { IDD = IDD_XXX};中可以使用类视图添加窗口消息_类视图消息

JRebel2023.3 插件使用详解-程序员宅基地

文章浏览阅读10w+次,点赞413次,收藏1.3k次。简介JRebel是一套JavaEE开发工具。Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这..._jrebel

MT7525 ONU调试指令详解_echo pll_reset > /proc/pon_phy/debug-程序员宅基地

文章浏览阅读2.8k次。tr69抓包调试:loglevel set tr69c Debuglogdest set tr69c Telnetsoapdebug enablesave2、开启WAN接口 debugloglevel set wanmgr Debug3、omci 调试命令(必须接串口):echo msg err 1 &amp;gt; /proc/gpon/debugecho msg oam 1..._echo pll_reset > /proc/pon_phy/debug

Java流程控制语句_java if else销量统计,记得把每一次面试当做经验积累英语-程序员宅基地

文章浏览阅读762次,点赞30次,收藏26次。在该程序中,当录入第 3 门课的成绩时,录入的成绩为负数,判断条件“score

最全自学黑客技术学习路线,少走弯路_黑客技术自学-程序员宅基地

文章浏览阅读3.5w次,点赞45次,收藏167次。谈起黑客,可能各位都会想到:盗号,其实不尽然;黑客是一群喜爱研究技术的群体,在黑客圈中,一般分为三大圈:娱乐圈 技术圈 职业圈。 娱乐圈:主要是初中生和高中生较多,玩网恋,人气,空间,建站收徒玩赚钱,技术高的也是有的,只是很少见。 技术圈:这个圈子里面的黑客是为了能把黑客技术玩到极致的技术狂人,我最佩服的就是这群人,希望以后自己也能成为这样的人。 职业圈:这里面的人群主要就是玩HC为主了,行走于黑白两道之间,富的一批。 好了,回到正题,本篇文章主要是写新的“黑客技术学习路线”,前面的文章就当Beta_黑客技术自学