OpenCV的Scalar对象怎样初始化,如何取分量值,如何与标量相乘?

OpenCV的Scalar对象怎样初始化,如何取分量值,如何与标量相乘?

OpenCV的Scalar对象是一个存储标量的容器,
它里面可以存储四个标量值,
每个标量值的类型为double类型。

如下图所示:
在这里插入图片描述
通常用它来存储多通道矩阵的标量计算结果,比如存储图像每个通道的像素均值。

本文介绍OpenCV的Scalar对象怎样初始化,如何取分量值,如何与标量相乘。

01-Scalar对象的初始化

初始化可以带值,也可以不带值,不带值的话默认为0。
两种方法的示例代码如下:

//出处:昊虹AI笔记网(hhai.cc)
//用心记录计算机视觉和AI技术

//博主微信/QQ 2487872782
//QQ群 271891601
//欢迎技术交流与咨询

//OpenCV版本 OpenCV3.0

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
	cv::Scalar A1;
	cout << "A1" << A1 << endl << endl;

	cv::Scalar C1 = { 55, 66, 77, 88 };
	cout << "C1" << C1 << endl << endl;


}

在上面的代码中 A1是不带值的初始化对象,C1是带值的初始化对象。
运行结果如下图所示:
在这里插入图片描述

02-Scalar对象如何取分量值

Scalar对象取分量值的方法很简单。
用运算符“[ ]”和“索引”即可实现。

关于“Scalar对象如何取分量值”的示例代码和昊虹君是怎样发现可以这样操作的,
请大家参看本博文的原文,
本博文的原文链接如下:

https://www.hhai.cc/thread-144-1-1.html

运行结果如下:
在这里插入图片描述

03-Scalar对象如何与标量相乘?

用运算符“*”即可实现Scalar对象与标量相乘。
示例代码如下:

//出处:昊虹AI笔记网(hhai.cc)
//用心记录计算机视觉和AI技术

//博主微信/QQ 2487872782
//QQ群 271891601
//欢迎技术交流与咨询

//OpenCV版本 OpenCV3.0

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
	cv::Scalar A1 = { 2, 3, 4, 5 };
	cout << "A1" << A1 << endl << endl;

	cv::Scalar B1 = 2 * A1;

	cout << "B1的值为:" << B1 << endl;
}

运行结果如下:
在这里插入图片描述
虽然Scalar对象可以与标量相乘,但是还是不建议大家让Scalar对象参与运算,原因见下面这个链接:
https://www.hhai.cc/thread-147-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值