C++如何打印输出OpenCV的Mat对象的像素数据?

这篇具有很好参考价值的文章主要介绍了C++如何打印输出OpenCV的Mat对象的像素数据?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直接上源码:

cv::Mat src = imread("d:\\findCircles1111.bmp", IMREAD_GRAYSCALE);
std::cout << "==默认风格==\n" << cv::format(src, cv::Formatter::FMT_DEFAULT) << std::endl;
std::cout << "==Matlab风格==\n" << cv::format(src, cv::Formatter::FMT_MATLAB) << std::endl;
std::cout << "==CSV风格==\n" << cv::format(src, cv::Formatter::FMT_CSV) << std::endl;
std::cout << "==Python风格==\n" << cv::format(src, cv::Formatter::FMT_PYTHON) << std::endl;
std::cout << "==Numpy风格==\n" << cv::format(src, cv::Formatter::FMT_NUMPY) << std::endl;
std::cout << "==C风格==\n" << cv::format(src, cv::Formatter::FMT_C) << std::endl;

==默认风格==
[111, 111, 166, 192, 251, 255, 255, 255, 255, 255;
 111,  83,  93,  83, 102,  85, 255, 251, 255, 255;
 111,  83, 111, 102, 111, 140, 255, 255, 255, 255;
 111,  83, 111,  83, 111, 140, 255, 255, 255, 255;
  83,  83, 111,  83, 111, 175, 255, 255, 255, 255;
  83,  74,  93,  83, 111, 175, 255, 251, 255, 255;
 192, 166, 111,  83,  76, 166, 255, 251, 255, 255;
 255, 255, 255, 255, 251, 251, 251, 208, 255, 255;
 192, 208, 251, 251, 251, 255, 251, 251, 255, 255;
 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
==Matlab风格==
(:, :, 1) =
111, 111, 166, 192, 251, 255, 255, 255, 255, 255;
111,  83,  93,  83, 102,  85, 255, 251, 255, 255;
111,  83, 111, 102, 111, 140, 255, 255, 255, 255;
111,  83, 111,  83, 111, 140, 255, 255, 255, 255;
 83,  83, 111,  83, 111, 175, 255, 255, 255, 255;
 83,  74,  93,  83, 111, 175, 255, 251, 255, 255;
192, 166, 111,  83,  76, 166, 255, 251, 255, 255;
255, 255, 255, 255, 251, 251, 251, 208, 255, 255;
192, 208, 251, 251, 251, 255, 251, 251, 255, 255;
255, 255, 255, 255, 255, 255, 255, 255, 255, 255
==CSV风格==
111, 111, 166, 192, 251, 255, 255, 255, 255, 255
111,  83,  93,  83, 102,  85, 255, 251, 255, 255
111,  83, 111, 102, 111, 140, 255, 255, 255, 255
111,  83, 111,  83, 111, 140, 255, 255, 255, 255
 83,  83, 111,  83, 111, 175, 255, 255, 255, 255
 83,  74,  93,  83, 111, 175, 255, 251, 255, 255
192, 166, 111,  83,  76, 166, 255, 251, 255, 255
255, 255, 255, 255, 251, 251, 251, 208, 255, 255
192, 208, 251, 251, 251, 255, 251, 251, 255, 255
255, 255, 255, 255, 255, 255, 255, 255, 255, 255

==Python风格==
[[111, 111, 166, 192, 251, 255, 255, 255, 255, 255],
 [111,  83,  93,  83, 102,  85, 255, 251, 255, 255],
 [111,  83, 111, 102, 111, 140, 255, 255, 255, 255],
 [111,  83, 111,  83, 111, 140, 255, 255, 255, 255],
 [ 83,  83, 111,  83, 111, 175, 255, 255, 255, 255],
 [ 83,  74,  93,  83, 111, 175, 255, 251, 255, 255],
 [192, 166, 111,  83,  76, 166, 255, 251, 255, 255],
 [255, 255, 255, 255, 251, 251, 251, 208, 255, 255],
 [192, 208, 251, 251, 251, 255, 251, 251, 255, 255],
 [255, 255, 255, 255, 255, 255, 255, 255, 255, 255]]
==Numpy风格==
array([[111, 111, 166, 192, 251, 255, 255, 255, 255, 255],
       [111,  83,  93,  83, 102,  85, 255, 251, 255, 255],
       [111,  83, 111, 102, 111, 140, 255, 255, 255, 255],
       [111,  83, 111,  83, 111, 140, 255, 255, 255, 255],
       [ 83,  83, 111,  83, 111, 175, 255, 255, 255, 255],
       [ 83,  74,  93,  83, 111, 175, 255, 251, 255, 255],
       [192, 166, 111,  83,  76, 166, 255, 251, 255, 255],
       [255, 255, 255, 255, 251, 251, 251, 208, 255, 255],
       [192, 208, 251, 251, 251, 255, 251, 251, 255, 255],
       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], dtype='uint8')
==C风格==
{111, 111, 166, 192, 251, 255, 255, 255, 255, 255,
 111,  83,  93,  83, 102,  85, 255, 251, 255, 255,
 111,  83, 111, 102, 111, 140, 255, 255, 255, 255,
 111,  83, 111,  83, 111, 140, 255, 255, 255, 255,
  83,  83, 111,  83, 111, 175, 255, 255, 255, 255,
  83,  74,  93,  83, 111, 175, 255, 251, 255, 255,
 192, 166, 111,  83,  76, 166, 255, 251, 255, 255,
 255, 255, 255, 255, 251, 251, 251, 208, 255, 255,
 192, 208, 251, 251, 251, 255, 251, 251, 255, 255,
 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
 文章来源地址https://www.toymoban.com/news/detail-403406.html

到了这里,关于C++如何打印输出OpenCV的Mat对象的像素数据?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 04- OpenCV:Mat对象简介和使用

    目录 1、Mat对象与IplImage对象 2、Mat对象使用 3、Mat定义数组 4、相关的代码演示 1、Mat对象与IplImage对象 先看看Mat对象:图片在计算机眼里都是一个二维数组; 在OpenCV中, Mat 是一个非常重要的类,用于表示图像或矩阵数据。 (1)Mat对象OpenCV2.0之后引进的图像数据结构、 自动

    2024年01月20日
    浏览(45)
  • 【c++ Opencv】Opencv中Mat的一些相关操作

    C++中的Mat类是OpenCV库中最核心的数据结构之一,用于表示图像和矩阵等二维、三维数据。Mat类的主要特点是可轻松地访问像素点,支持各种矩阵运算,可以实现各种图像处理算法。下面是一些常见的Mat操作: 1. 创建Mat对象:可以通过构造函数、静态方法或赋值操作符来创建

    2024年02月13日
    浏览(37)
  • Java中打印对象输出的字符串到底是什么

    我们在进行 Java 编程时,经常要打印对象,有的是查看是否拿到了该对象,有的是查看该对象中的数据。打印输出的却是一知半解的字符串,那么这个字符串是怎么来的?代表什么?我们如何打印出对象中的数据呢? 我们使用 Java 的 System.out 类可以打印输出对象,例如我们有

    2024年02月05日
    浏览(46)
  • [OpenCV][C++编程] cv::mat的定义与赋值

    可以通过在/目录下直接搜索opencv,确定opencv所在的目录: lopencv_core 是opencv的核心, -lopencv_highgui包含读取图像和显示图像的函数 -lopencv_imgproc包含图像处理函数(非机器学习方法),例如线性滤波,边缘检测、膨胀腐蚀、检测直线、仿射变换等等。 -lopencv_ml包含机器学习算法

    2024年02月09日
    浏览(48)
  • [C++] opencv - Mat::convertTo函数介绍和使用场景

    Converts an array to another data type with optional scaling.    该函数主要用于数据类型的相互转换。 The method converts source pixel values to the target data type. saturate_cast is applied at the end to avoid possible overflows: m(x,y)=saturate_castrtype(α(∗this)(x,y)+β)    这是函数底层算法实现公式,了解算法方便我们

    2024年01月18日
    浏览(52)
  • C++结合OpenCV:图像的像素处理基础

    像素是图像构成的基本单位,像素处理是图像处理的基本操作,可以通过位置索引的形式对图像内的元素进行访问、处理。 二值图像: 是一种特殊的灰度图像,在OPENCV中,将黑定义为0,255定义为白。 在OPENCV中,二值图像/灰度图像以二维数组形式进行存放彩色图像以三维数组

    2024年01月16日
    浏览(41)
  • c++ opencv中unsigned char *、Mat、Qimage互相转换

    unsigned char * 转Mat void * 转Qimage qimage转Mat Mat转Qimage

    2024年02月03日
    浏览(62)
  • 从键盘输入一个3×4的矩阵mat,请输出其最大的元素max及所在位置.(c++,c语言)

    c++: #includeiostream using namespace std; int i,j; int main() {     int a[3][4];     cout\\\"请输入3*4的矩阵:\\\";     for(i=0;i3;i++)     {         for(j=0;j4;j++)         {             a[i][j]=i,j;             cina[i][j];         }     }     int max;     max=a[0][0];     for(i=0;i3;i++)     {  

    2024年02月09日
    浏览(57)
  • Opencv C++图像处理:矩阵Mat + 随机数RNG + 计算耗时 + 鼠标事件

    数据类型 字节数 取值范围 bool型(布尔型) 1 [0 or 1] BOOL型(int型) 4 [TRUE or FALSE] sbyte型(有符号8位整数) 1 [128 ~ 127] bytet型(无符号8位整数) 8U 2 [0 ~ 255] short型(有符号16位整数) 16S 2 [-32,768 ~ 32,767] ushort型(无符号16位整数) 16U 2 [0 ~ 65,535] int型(有符号32位整数) 32S 4 [

    2024年02月03日
    浏览(56)
  • Opencv C++ 三、通过鼠标点击操作获取图像的像素坐标和像素值 四、生成一个简单的灰度图像。

    该操作首先需要创建一个头文件 在该头文件内进行编写: 而后双击打开源文件: 在源文件内编写: 执行该程序: 显示内容为上图,而后在右侧image窗口内任意点击一个位置: 就会显示该位置的坐标信息和像素值。 由于该图像为RBG彩色图像,不是单通道的灰度影像,不能显

    2024年04月28日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包