当前位置: 首页 > news >正文

OpenCV图像二值化

1.二值图像

  • 灰度图像 0 - 255
  • 二值图像 0(黑) / 255(白)

2.二值分割

五种阈值分割方法(阈值T):

  • 大于T为255,小于T为0

  • 大于T为0,小于T为255

  • 小于T为原值 else T

  • 小于T为0 else 原值

  • 大于T为0 else 原值

    QString appPath = QCoreApplication::applicationDirPath();QString imagePath = appPath + "/A.jpg";Mat img = cv::imread(imagePath.toStdString()); if (img.empty()) {return;}namedWindow("input", WINDOW_AUTOSIZE);imshow("input", img);//To gray imageMat gray,binary;cvtColor(img, gray, COLOR_BGR2GRAY);imshow("gray", gray);//二值化threshold(gray, binary, 127, 255, THRESH_BINARY);imshow("THRESH_BINARY", binary);threshold(gray, binary, 127, 255, THRESH_BINARY_INV);imshow("THRESH_BINARY_INV", binary);//阈值化threshold(gray, binary, 127, 255, THRESH_TRUNC);imshow("THRESH_TRUNC", binary);threshold(gray, binary, 127, 255, THRESH_TOZERO);imshow("THRESH_TOZERO", binary);threshold(gray, binary, 127, 255, THRESH_TOZERO_INV);imshow("THRESH_TOZERO_INV", binary);waitKey();destroyAllWindows();

3.阈值

(1)全局阈值

Scalar m = mean(gray);
threshold(gray, binary, m[0], 255, THRESH_BINARY);
imshow("THRESH_BINARY", binary);//OTSU
double m_otsu = threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_OTSU);
imshow("THRESH_BINARY_OTSU", binary);//三角法:X光片等
double m_triangle = threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_TRIANGLE);
imshow("THRESH_BINARY_TRIANGLE", binary);

(2)自适应阈值

//均值c
adaptiveThreshold(gray, binary, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 25,10);
imshow("ADAPTIVE_THRESH_MEAN_C", binary);//高斯c
adaptiveThreshold(gray, binary, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 25, 10);
imshow("ADAPTIVE_THRESH_GAUSSIAN_C", binary);
http://www.lryc.cn/news/329504.html

相关文章:

  • java中的抽象类
  • 代码随想录算法训练营第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • 2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序
  • C#全新一代医院手术麻醉系统围术期全流程源码
  • Python 神器:一键下载 M3U8 并转换为 MP4
  • vue3全局控制Element plus所有组件的文字大小
  • 区间预测 | Matlab实现带有置信区间的BP神经网络时间序列未来趋势预测
  • Matlab中的脚本和函数
  • 使用 nohup java - jar 不输出nohup日志
  • Linux系统中安装一些常用的插件备用
  • 笔记本电脑上部署LLaMA-2中文模型
  • 百度云加速方法「Cheat Engine」
  • SOC内部集成网络MAC外设+ PHY网络芯片方案:PHY芯片基础知识
  • openGauss 6.0.0-RC1 版本正式发布!
  • 【JVM】关于JVM垃圾回收
  • Unity照片墙简易圆形交互效果总结
  • Unity2018发布安卓报错 Exception: Gradle install not valid
  • 蓝桥杯省赛刷题——题目 2656:刷题统计
  • Python爬虫之异步爬虫
  • 【Web】NSSCTF Round#20 Basic 个人wp
  • 【Java笔记】实现延时队列1:JDK DelayQueue
  • npm淘宝镜像源切换
  • ENet——实时语义分割的深度神经网络架构与代码实现
  • 游戏领域AI智能视频剪辑解决方案
  • 腾讯云轻量2核2G3M云服务器优惠价格61元一年,限制200GB月流量
  • leecode 331 |验证二叉树的前序序列化 | gdb 调试找bug
  • 服务器安全事件应急响应排查方法
  • 数码视讯Q7盒子刷armbian或emuelec的一些坑
  • 2_2.Linux中的远程登录服务
  • Spring Boot集成JPA快速入门demo