异常未处理:在 openCV 中的 cvtColor()
Exception Unhandled: at cvtColor() in openCV
我正尝试在 visual studio 上使用 c++ 中的 openCV 检测颜色。当我尝试使用本地 windows 调试器调试代码时,我在 cvtColor(img, imgHSV, COLOR_BGR2HSV);
行收到异常取消处理消息
这是我的代码:
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
void main()
{
Mat imgHSV, mask;
int hmin = 0, stmin = 0, vmin = 0;
int hmax = 179, stmax = 255, vmax = 255;
string path = "Resource/lambo.png";
Mat img = imread(path);
cvtColor(img, imgHSV, COLOR_BGR2HSV);
namedWindow("Trackbars", (640, 200));
createTrackbar("hmin: ", "Trackbars", &hmin, 179);
createTrackbar("hmax: ", "Trackbars", &hmax, 179);
createTrackbar("stmin: ", "Trackbars", &stmin, 255);
createTrackbar("stmax: ", "Trackbars", &stmax, 255);
createTrackbar("vmin: ", "Trackbars", &vmin, 255);
createTrackbar("vmax: ", "Trackbars", &vmax, 255);
while (true) {
Scalar lower(hmin, stmin, vmin);
Scalar upper(hmax, stmax, vmax);
inRange(imgHSV, lower, upper, mask);
imshow("Image", img);
imshow("Image HSV", imgHSV);
imshow("Image tracked", mask);
waitKey(0);
}
}
这是消息:
Unhandled exception at 0x00007FFDDDBD4ED9 in OpenCV_Course.exe: Microsoft C++ exception: cv::Exception at memory location 0x0000005FB4AFEAD0.
您的 cv::imread
可能失败并返回了一个空矩阵。尝试:
Mat img = imread(path);
if (!img.data) {
cout << "could not open: " << path << endl;
return 1;
}
如果打印此消息,请修复您的图像路径。
我正尝试在 visual studio 上使用 c++ 中的 openCV 检测颜色。当我尝试使用本地 windows 调试器调试代码时,我在 cvtColor(img, imgHSV, COLOR_BGR2HSV);
这是我的代码:
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
void main()
{
Mat imgHSV, mask;
int hmin = 0, stmin = 0, vmin = 0;
int hmax = 179, stmax = 255, vmax = 255;
string path = "Resource/lambo.png";
Mat img = imread(path);
cvtColor(img, imgHSV, COLOR_BGR2HSV);
namedWindow("Trackbars", (640, 200));
createTrackbar("hmin: ", "Trackbars", &hmin, 179);
createTrackbar("hmax: ", "Trackbars", &hmax, 179);
createTrackbar("stmin: ", "Trackbars", &stmin, 255);
createTrackbar("stmax: ", "Trackbars", &stmax, 255);
createTrackbar("vmin: ", "Trackbars", &vmin, 255);
createTrackbar("vmax: ", "Trackbars", &vmax, 255);
while (true) {
Scalar lower(hmin, stmin, vmin);
Scalar upper(hmax, stmax, vmax);
inRange(imgHSV, lower, upper, mask);
imshow("Image", img);
imshow("Image HSV", imgHSV);
imshow("Image tracked", mask);
waitKey(0);
}
}
这是消息:
Unhandled exception at 0x00007FFDDDBD4ED9 in OpenCV_Course.exe: Microsoft C++ exception: cv::Exception at memory location 0x0000005FB4AFEAD0.
您的 cv::imread
可能失败并返回了一个空矩阵。尝试:
Mat img = imread(path);
if (!img.data) {
cout << "could not open: " << path << endl;
return 1;
}
如果打印此消息,请修复您的图像路径。