以下程序也与以前的程序非常相似。唯一的区别是该程序创建一个空白图像,而不是从文件加载现有图像。
将上述简单代码片段复制并粘贴到 IDE 中并运行它。然后,您应该会看到如下图所示的输出。
#include <iostream>
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat image(200, 300, CV_8UC3, Scalar(200, 31, 120));
// 定义一个窗体的名称
String winName = "blank Image Window";
// 创建一个窗体用于显示图像
namedWindow(winName);
// 把图像显示到创建窗体上面
imshow(winName, image);
// 等待输入字符并关闭窗口
waitKey(0);
destroyWindow(winName);
Mat image(600, 800, CV_8UC3, Scalar(100, 250, 30));
这是 Mat 类中可用的众多构造函数之一。它创建一个高 600 像素、宽 800 像素的图像。为图像中的每个像素分配 24 位。24 位将由三个无符号 8 位整数组成,分别代表蓝色、绿色和红色平面。三个整数的值应介于 0 到 255 之间。
然后,此构造函数使用 3 个无符号整数(100、250、30)初始化创建图像的每个像素。因此,它初始化蓝色通道为 100,绿色通道初始化为 250,红色通道初始化为 30。由于绿色通道的值明显大于其他通道的值,因此输出图像为绿色。您可以尝试这三个值的不同组合并查看输出图像。
Mat:**:Mat(int rows, int cols, int type, const Scalar& s)** 此构造函数将创建一个具有指定行数和列数的 Mat 对象,并使用 s 中给出的值初始化每个元素。
【小结】
万丈高楼平地起,接触任何技术栈,都先把基础过一遍。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。