以下代码导致构建成功,但没有窗口。没有" 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();
}
答案 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): 你需要清理项目并重新构建。