我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C++ OpenCV中如何进行图像像素值统计

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C++ OpenCV中如何进行图像像素值统计

小编今天带大家了解C++ OpenCV中如何进行图像像素值统计,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“C++ OpenCV中如何进行图像像素值统计”的知识吧。

前言

opencv知识点:

图像像素最小/最大值 - minMaxLoc

图像像素均值/标准差 - meanStdDev

1.常用的像素值统计

在图像分析的时候,我们经常需要对单通道图像的像素进行统计,以下4种是比较常用的

最小值(min)

最大值(max)

平均值(mean)

标准差(standard deviation)

要求这4种统计,我们就要用到以下两个API

  • minMaxLoc

  • meanStdDev

这两个API非常有用,日后有很多地方用得到

2.像素值统计计算

接下来,我们来应用两个API,求取4种像素值统计

首先是最小值,最大值

//函数定义void pixel_statistics_demo(Mat& image);//函数实现void QuickDemo::pixel_statistics_demo(Mat& image) {    double minv, maxv;    Point minLoc, maxLoc;    std::vector<Mat> mvt;    split(image, mvt);        for (int i = 0; i < mvt.size(); i++) {        minMaxLoc(mvt[i], &minv, &maxv, &minLoc, &maxLoc);        std::cout << "通道:" << i << " 最小值:" << minv << " 最大值:" << maxv << std::endl;    }}

C++ OpenCV中如何进行图像像素值统计

然后是,平均值和标准差

void QuickDemo::pixel_statistics_demo(Mat& image) {    Mat mean, stddev;    meanStdDev(image, mean, stddev);        std::cout << "平均值" << std::endl << mean << std::endl;    std::cout << "标准差" << std::endl<<stddev << std::endl;}

C++ OpenCV中如何进行图像像素值统计

上图中,输出平均值和标准差,是把所有通道的都输出了,那如果怎么输出单通道的呢?

很简单,只要用到Mat::at

//opencv为了保证精度,平均值,标准差矩阵的数据类型是double类型std::cout<<"平均值"<< mean.at<double>(0, 0)<<std::endl;std::cout << "标准差" << stddev.at<double>(0, 0) << std::endl;

C++ OpenCV中如何进行图像像素值统计

3.图像统计值分析

这里简单提一下图像分析的事情

图像的平均值和标准差会给我们带来一定的信息

比如:当平均值恒定,标准差很小时,我们可以想到是基本纯色的图片,也就是低对比度的图

在图像分析的时候,我们关注图像的有效信息,也就是ROI区域。

通过图像像素的统计值,我们就可以对图像的有效信息作出判断。

比如,当图像标准差很小时,图像所携带的有效信息会很少,我们就要对图像进行筛选,通过一些手段过滤掉一些东西。

本课所用API查阅

minMaxLoc

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

meanStdDev

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

Mat::at

虽然有12种重载,但只有6种传参方式

单维度坐标&mdash;&mdash;i0:沿维度 0 的索引

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

C++ OpenCV中如何进行图像像素值统计

双维度坐标&mdash;&mdash;row 沿维度 0 的索引 ;col 沿维度 1 的索引

C++ OpenCV中如何进行图像像素值统计

三维度坐标&mdash;&mdash;i0 沿维度 0 的索引;i1 沿维度 1 的索引;i2 沿维度 2 的索引

C++ OpenCV中如何进行图像像素值统计

维度数组坐标&mdash;&mdash;int数组

C++ OpenCV中如何进行图像像素值统计

维度数组坐标&mdash;&mdash;vector数组

C++ OpenCV中如何进行图像像素值统计

点的坐标&mdash;&mdash;point类

C++ OpenCV中如何进行图像像素值统计

感谢大家的阅读,以上就是“C++ OpenCV中如何进行图像像素值统计”的全部内容了,学会的朋友赶紧操作起来吧。相信编程网小编一定会给大家带来更优质的文章。谢谢大家对编程网网站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C++ OpenCV中如何进行图像像素值统计

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++ OpenCV中如何进行图像像素值统计

小编今天带大家了解C++ OpenCV中如何进行图像像素值统计,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“C++ OpenCV中如
2023-06-28

C++ OpenCV如何进行图像全景拼接

C++ OpenCV如何进行图像全景拼接,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言下面将使用OpenCV C++ 进行图像全景拼接。目前使用OpenCV对两幅图像进行拼
2023-06-22

C++ OpenCV如何实现图像双三次插值算法

本篇内容主要讲解“C++ OpenCV如何实现图像双三次插值算法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ OpenCV如何实现图像双三次插值算法”吧!一、图像双三次插值算法原理首先是
2023-06-21

如何进行Python OpenCV图像模糊处理分析

这篇文章跟大家分析一下“如何进行Python OpenCV图像模糊处理分析”。内容详细易懂,对“如何进行Python OpenCV图像模糊处理分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编
2023-06-26

Python如何使用OpenCV对图像进行缩放功能

这篇文章主要介绍了Python如何使用OpenCV对图像进行缩放功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。OpenCV:图片缩放和图像金字塔对图像进行缩放的最简单方法
2023-06-29

如何在C#项目中利用OpenCV对图片中人物的头像进行剪切

这篇文章主要介绍了如何在C#项目中利用OpenCV对图片中人物的头像进行剪切,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:准备工作首先创建一个Wpf项目——OpenCV_Face_Wpf,这里版本使
2023-06-06

Python+OpenCV数字图像处理中如何进行ROI区域的提取

本篇文章给大家分享的是有关Python+OpenCV数字图像处理中如何进行ROI区域的提取,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、实现原理先通过cv.cvtColor
2023-06-22

C#如何使用OpenCV剪切图像中的圆形和矩形

这篇文章主要介绍“C#如何使用OpenCV剪切图像中的圆形和矩形”,在日常操作中,相信很多人在C#如何使用OpenCV剪切图像中的圆形和矩形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#如何使用OpenC
2023-06-07

Python中Pillow库如何进行图像文件处理

小编给大家分享一下Python中Pillow库如何进行图像文件处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、打开PyCharm,创建一个新的.py文件2、
2023-06-25

如何在Python中进行图像处理和识别

如何在Python中进行图像处理和识别摘要:现代技术使得图像处理和识别在许多领域中成为了一个重要的工具。Python作为一种易于学习和使用的编程语言,具有丰富的图像处理和识别库。本文将介绍如何使用Python进行图像处理和识别,并提供具体的
2023-10-22

如何在HTML5 中使用canvas进行图像处理

本篇文章为大家展示了如何在HTML5 中使用canvas进行图像处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。卷积什么是卷积?就跳过一些用专业属于描述专业术语看完懵逼的解释了,语文成绩很差的我尝
2023-06-09

Python如何使用OpenCV和K-Means聚类对毕业照进行图像分割

这篇文章给大家分享的是有关Python如何使用OpenCV和K-Means聚类对毕业照进行图像分割的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们将看到一种图像分割方法,即K-Means Clustering。
2023-06-15

PHP中的GD库是如何进行图像处理的?(请解释PHP中GD库进行图像处理的方法和步骤。)

PHP中的GD库是一个图像处理工具,其图像处理过程包括:加载图像:使用imagecreatefromxxx()函数从文件加载图像。图像操作:提供广泛的函数进行调整大小、裁剪、旋转、颜色操作、文本覆盖和图像覆盖等操作。保存图像:使用imagexxx()函数以所需格式保存图像。GD库优点包括广泛的支持、易用性、高性能和多种格式支持,但存在透明度处理问题、编辑能力有限和并发问题的限制。
PHP中的GD库是如何进行图像处理的?(请解释PHP中GD库进行图像处理的方法和步骤。)
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录