opencv:全局阈值
2024-09-07 00:02:46
图像的二值化分割,最重要的就是计算阈值
阈值的计算方法很多,基本分为两类,全局阈值与自适应阈值
OTSU、Triangle
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat src = imread("f:/images/shuang001.jpg");
if (src.empty())
{
printf("Could not find the image!\n");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
Mat gray, binary;
cvtColor(src, gray, COLOR_BGR2GRAY);
imshow("gray", gray);
// 均值分割
Scalar m = mean(gray);
printf("means: %.2f\n", m[0]);
threshold(gray, binary, m[0], 255, THRESH_BINARY);
imshow("binary", binary);
// 直方图
threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_OTSU);
imshow("THRESH_OTSU", binary);
threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_TRIANGLE);
imshow("THRESH_TRIANGLE", binary);
waitKey(0);
destroyAllWindows();
return 0;
}
最新文章
- 在 CentOS7 上安装 zookeeper-3.4.9 服务
- 代理模式(Proxy Pattern)
- HDU 2795 Billboard(线段树)
- Intent界面跳转与传递数据
- Power-BI 主要城市商品房销售分析
- UNIX内核的文件数据结构 -- v 节点与 i 节点
- open()函数
- JavaScript元素的创建、添加、删除
- UESTC_Little Deer and Blue Cat CDOJ 1025
- _beginThreadex创建多线程解读
- UVa 11879 - Multiple of 17
- Vertx eventbus模块解析
- Java 初始化、final、清理
- 【源】ensp 绑定本地网卡与仿真设备进行通信 场景下 仿真设备ping 不通 本机IP 问题
- 匿名内部类可以访问的变量---静态成员变量和final修饰的局部变量
- Redis入门到高可用(二十一)——缓存的使用和设计
- 【转载】JAVA消息服务JMS规范及原理详解
- java读写操作心得
- css汇总
- 谷歌推出新型强化学习框架Dopamine