opencv中scalar_opencv ffmpeg

opencv中scalar_opencv ffmpegMat类中的Scalar()成员有什么用呢?先不急着看资料,看下有什么结果出现吧:先将里边的值设为0[html]viewplaincopy#include<opencv2/core/core.hpp>#include<opencv2/imgproc/imgproc.hpp&a


Jetbrains全系列IDE稳定放心使用

Mat类中的Scalar()成员有什么用呢?先不急着看资料,看下有什么结果出现吧:先将里边的值设为0

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{

Mat rawImg(600, 500, CV_8U, Scalar(0)); //这个Scalar函数有啥作用呢?,我们我猜想是灰度值
//Mat resultImg;
namedWindow(“Raw Image”);
imshow(“Raw Image”, rawImg);
waitKey(0);
destroyAllWindows();
imwrite(“图像.jpg”,rawImg);
return 0;
}

  • 最后结果为:黑色

在这里插入图片描述

再设为scalar(255),结果:白色
在这里插入图片描述
没有设置边框,可以确定是全白的

再设为150,结果:
在这里插入图片描述

果然验证了是灰度值,但是为什么是scalar呢?为什么是标量呢?看看彩色图像吧

将程序做修改如下:

Mat rawImg(600, 500, CV_8UC3, Scalar(255, 0, 0));
在这里插入图片描述

然后运行,结果:

然后逐步将参数分别设为0,255,0,结果:
在这里插入图片描述

再设为0,0,255,结果:
在这里插入图片描述

原来scalar是将图像设置成单一灰度和颜色,怪不得叫scalar。明白了

//各参数依次是:照片/添加的文字/左上角坐标/字体/字体大小/颜色/字体粗细 Scalar(255, 255, 255)是白色字体 Scalar(0,0, 0)是黑色字体 顺序b g r cv.color是 r g b顺序

putText(imageSource, meanValueString, Point(20, 50), CV_FONT_HERSHEY_COMPLEX, 0.8, Scalar(255, 255, 25), 2);

CvScalar color = CV_RGB(255,0,0);是什么意思,其中color是自己定义的吗?

是自己定义的,你可以随便写,但是一般都用color,为了便于认知。在Opencv中,cvScalar是CV_RGB的宏,cvScalar的储存顺序是B-G-R,而CV_RGB的储存顺序是R-G-B,两者正好相反,所以你的cvScalar(255,0,0),实际意思是B=255,当然是蓝色的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189511.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • contentWindow属性是指指定的frame或者iframe所在的window对象

    contentWindow属性是指指定的frame或者iframe所在的window对象contentWindow属性是指指定的frame或者iframe所在的window对象在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则必须指定contentWindow属性。function EnableEdit(){     var editor;     editor = documen

    2022年10月20日
  • 语义分割 实例分割 全景分割_语义分割应用场景

    语义分割 实例分割 全景分割_语义分割应用场景之前看过一篇使用分割思想进行目标检测,所以这里补习下一些分割相关的基础知识。这里重点说下语义分割、实力分割和全景分割的区别。1、semanticsegmentation(语义分割)通常意义上的目标分割指的就是语义分割,图像语义分割,简而言之就是对一张图片上的所有像素点进行分类语义分割(下图左)就是需要区分到图中每一点像素点,而不仅仅是矩形框框住了。但是同一物体的不同实例不需要单独分…

    2022年8月21日
  • 特征选择方法之信息增益

    特征选择方法之信息增益

    2021年12月9日
  • 微信小程序轮播图禁止滚动

    微信小程序轮播图禁止滚动wxml<swiper-itemcatchtouchmove=’catchTouchMove’></swiper-item>jscatchTouchMove(e){returnfalse},

    2022年5月21日
  • 新手必看:PS修图的基本步骤

    新手必看:PS修图的基本步骤大家好我是微风,一个爱设计爱生活的平面设计师,最近总有一些朋友问我,PS修图的基本步骤是什么,怎么进行修图,那么今天的这篇文章主要给大家介绍下新手如何进行PS修图,PS修图基本步骤和精致修图基本步骤学习方法。一、ps修图基本步骤1.打开ps,处理图片;2.找到工具栏中的矩形选择选框;3.将第1步选作为选区,找到编辑功能中的填充;4.选择颜色为前景色;5.相同方法选中第2步选区,使用内容感知移动工具,将第2步选区向上移动;6.这样即可成功完成简易修图操作。二、精致修图基本步骤1、第一步——精

    2022年6月29日
  • 用Protel 99 SE学习原理图的设计及pcb的绘制

    用Protel 99 SE学习原理图的设计及pcb的绘制学习Protel99SE的大致过程:原理图文件(*.Sch)–>网络表文件(*.NET)–>*.PCB 网络表文件:记录封装格式。 (封装是指元件的长宽、大小、位置。封装就是一种标准,用来规定元件制造出的实际大小) Pcb文件:它就是印制电路板的文件 protel软件:https://download.csdn….

    2022年5月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号