【毕设】opencv点滴-阈值分割(Threshold)
2015-11-08 13:13
183 查看
opencv4java里面有一个阈值分割方法:
Imgproc.threshold(grayMat, thresholdMat, 0, 255, Imgproc.THRESH_TRUNC);其中这个threshold()具体如下:
第一二个参数src和dst不用多说,就是原位图转成的Mat和原位图要转成的Mat
第三个参数thresh是一个阈值点,这个点的设置将影响你的分割效果。
第四个参数maxval是最大值要设置成多少,比如二值化的话,最大值肯定是255,小于thresh的都是0,大于thresh的都是255。
第五个参数是类型参数,类型有默认的五种:
THRESH_BINARY
THRESH_BINARY_INV
THRESH_TRUNC
THRESH_TOZERO
THRESH_TOZERO_INV
引用《Learning OpenCV》里的一张图:
第五个参数:
1.如果是THRESH_BINARY的话,就是二值化,从thresh为阈值进行判断每个像素点该归maxval还是0。
2.如果是THRESH_BINARY_INV的话,是反向二值化,从图中也可以看的出来,跟THRESH_BINARY是相反的。
3.如果是THRESH_TRUNC的话,“trunc”的意思是“裁剪、修剪”的意思,那么就是超过thresh的都等于tresh,不超过的等于原图像素点值。只针对超过thresh的像素点。
4.如果是THRESH_TOZERO的话,大于tresh的像素点维持原图像素值,小于的都为0。
5.如果是THRESH_TOZERO_INV的话,与4相反。
Imgproc.threshold(grayMat, thresholdMat, 0, 255, Imgproc.THRESH_TRUNC);其中这个threshold()具体如下:
public static double threshold(Mat src, Mat dst, double thresh, double maxval, int type)
第一二个参数src和dst不用多说,就是原位图转成的Mat和原位图要转成的Mat
第三个参数thresh是一个阈值点,这个点的设置将影响你的分割效果。
第四个参数maxval是最大值要设置成多少,比如二值化的话,最大值肯定是255,小于thresh的都是0,大于thresh的都是255。
第五个参数是类型参数,类型有默认的五种:
THRESH_BINARY
THRESH_BINARY_INV
THRESH_TRUNC
THRESH_TOZERO
THRESH_TOZERO_INV
引用《Learning OpenCV》里的一张图:
第五个参数:
1.如果是THRESH_BINARY的话,就是二值化,从thresh为阈值进行判断每个像素点该归maxval还是0。
2.如果是THRESH_BINARY_INV的话,是反向二值化,从图中也可以看的出来,跟THRESH_BINARY是相反的。
3.如果是THRESH_TRUNC的话,“trunc”的意思是“裁剪、修剪”的意思,那么就是超过thresh的都等于tresh,不超过的等于原图像素点值。只针对超过thresh的像素点。
4.如果是THRESH_TOZERO的话,大于tresh的像素点维持原图像素值,小于的都为0。
5.如果是THRESH_TOZERO_INV的话,与4相反。
相关文章推荐
- Nginx yum源
- lightoj 1349 - Aladdin and the Optimal Invitation 【中位数的运用】
- Linux_NetworkManager_RHEL7
- XAMPP(Linux版-x86兼容)官网下载
- linux命令-vim
- openfire编译
- linux服务器部署项目
- Linux和Windows下开启服务的一些命令
- [转]OpenWRT之获取MAC地址
- linux 进程线程拓展
- 在虚拟机(VMware)中安装Linux CentOS 6.4系统(图解)
- Linux下查找相关命令
- Julia: 引用与copy: 关于数组、自定义类型与初始化
- windows共享文件夹给centOS
- linux下搭建SVN服务器完全手册
- 【OpenCV人脸识别入门教程之三】CMake编译OpenCV源码
- Linux 搭建svn服务器
- Hive入门学习之二:Hive 的部署
- Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取 + 一个hook的实现
- Hive入门学习之一:Hive的简述与架构