为什么Scalar不起作用?

时间:2017-04-28 07:31:35

标签: c++ opencv scalar

以下代码导致构建成功,但没有窗口。没有" m =标量(255,0,0);",它会创建黑色窗口。为什么包括标量不起作用?

#include <iostream>
#include <stdio.h>

#include <opencv2/opencv.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>

using namespace cv;
using namespace std;

int main() {

    Mat m = Mat::zeros(200,200,CV_8UC3);
    m = Scalar(255,0,0);  //without this, it creates window. 

    imshow("m", m);
    waitKey();

}

2 个答案:

答案 0 :(得分:0)

它不会给你任何编译错误,因为Mat和Scalar基本上是OpenCV的数组类型。

这可能是How to set all pixels of an OpenCV Mat to a specific value?

的副本

答案 1 :(得分:0)

你的代码必须工作!

看看doc

  

C ++:void imshow(const string&amp; winname,InputArray mat)

我可以确认您的环境正常(opencv320,VisualStudio2017): 你需要清理项目并重新构建。

enter image description here