cvThreshold()函数理解

对图像二值化函数cvThreshold的理解

Threshold

对数组元素进行固定阈值操作

void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );

src
原始数组 (单通道 , 8-bit of 32-bit 浮点数).
dst
输出数组,必须与 src 的类型一致,或者为 8-bit.
threshold
阈值
max_value
使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值.
threshold_type
阈值类型 (见讨论)

函 数 cvThreshold 对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像。(cvCmpS 也可以达到此目的) 或者是去掉噪声,例如过滤很小或很大象素值的图像点。本函数支持的对图像取阈值的方法由 threshold_type 确定:

threshold_type=CV_THRESH_BINARY:

dst(x,y) = max_value, if src(x,y)>threshold 0, otherwise.

threshold_type=CV_THRESH_BINARY_INV:

dst(x,y) = 0, if src(x,y)>threshold; dst(x,y) = max_value, otherwise.

threshold_type=CV_THRESH_TRUNC:

dst(x,y) = threshold, if src(x,y)>threshold;   dst(x,y) = src(x,y), otherwise.

threshold_type=CV_THRESH_TOZERO:

dst(x,y) = src(x,y), if (x,y)>threshold ;  dst(x,y) = 0, otherwise.

threshold_type=CV_THRESH_TOZERO_INV:

dst(x,y) = 0, if src(x,y)>threshold ;  dst(x,y) = src(x,y), otherwise.

左面是图形化的阈值描述:

引自:http://blog.163.com/[email protected]/blog/static/300367392009226407387/

时间: 2024-11-07 05:34:38

cvThreshold()函数理解的相关文章

Python 多进程实战 & 回调函数理解与实战

这篇博文主要讲下笔者在工作中Python多进程的实战运用和回调函数的理解和运用. 多进程实战 实战一.批量文件下载 从一个文件中按行读取 url ,根据 url 下载文件到指定位置,用多进程实现. #!/usr/local/python27/bin/python2.7 from multiprocessing import Process,Pool import os,time,random,sys import urllib # 文件下载函数 def filedown(url,file):  

IsWow64Process函数理解的偏差

 IsWow64Process函数理解的偏差 搬运自我的百度空间 IsWow64Process并不像网上很多文章说的那样,可以直接判断进程的位数.其实他的实际含义是某个进程是不是在wow64虚拟环境下. 所以说各种可能的情况如下: 64-bit process on 64-bit Windows : FALSE 32-bit process on 64-bit Windows : TRUE 32-bit process on 32-bit Windows : FALSE 注意上面的最后一项,

strptime和strptime函数理解

#include <stdio.h> #include <time.h> int main() { struct tm tm; char buf[255]; strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm); strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm); puts(buf); retur

图片放大功能插件及jquery.extend函数理解

前端时间,产品提出社区评论中的图片需要有放大功能.感觉可以共用,所以就想整合一个插件,过程中也借鉴了一些例子. 分析下自己的代码思路: var scaleImg = function(opts) { this.opts = $.extend({ wrap: '', clickimgs: '', callback: function(){} }, opts); this.images_n = []; //保存一条评论中的所有图片 this.$showArrow = false; //显示左右翻页按

callback回调函数理解 相当于this指针

1.callback函数在微软的官方手册中是这样定义callback函数的:"callback函数是由应用程序定义而由操作系统调用的函数".   凡是由用户设计而却由windows系统调用的函数,统称为callback函数,这些函数都有一定的类型,以配合windows的调用操作.      某些api函数以callback作为其参数之一,这些api,如settimer.linedda.enumobjects.通常这种api会在进行某 种行为之后或满足某种状态之时调用该callback函

结合php ob函数理解缓冲机制

对于一个刚刚入门的php程序员来说,php缓冲区是几乎透明的.在他们心目中,一个echo print_r 函数,数据便会‘嗖’的一声飞到浏览器上,显示出来.我也一直如此单纯地认为. 其实,在技术的世界里,向来都是由简单到复杂,也许那些技术开发者开始单纯如你我,但是面对残酷的现实,不得不调整策略,以期提高机器运行效率,最后想到了那些让我们赞叹的idea. 说到缓冲,也就是buffer,这里必须要和缓存做一下比较,单纯地比较定义是无意义的,莫不如看看它们做什么.缓存解决的是如何快速查找利用数据,节省

ioctl函数理解

ioctl 是设置和获取设备文件的物理特性,不同设备文件其物理特性不一样.比如串口的波特率,显示器分变率等.值得说明的是fcntl 与ioctl不同在于fcntl是描述文件访问控制属性而 ioctl是操作文件的物理特性.可以简单理解fcntl是操作文件共性,ioctl是操作文件的个性. #include <sys/ioctl.h> int ioctl(int fd, int request, ...); 下面以串口为例:ioctl获取或者设置设备文件的物理特性,因此最终命令也是传递到驱动层.因

回调函数理解实例

// callback.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> void printWelcome(int len) { printf("欢迎欢迎 -- %d\n", len); } void printGoodbye(int len) { printf("送客送客 -- %d\n&q

public static void main(String[] args){}函数理解

主函数的一般写法如下: public static void main(String[] args){…} 下面分别解释这些关键字的作用: (1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数. (2)static关键字,告知编译器main函数是一个静态函数.也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段 代码就 已经存在了.如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示m