C++ OpenCV错误:断言失败((未签名)(pt.x*数据类型<;Tp>;::通道)<;(未签名)(size.p[1]*通道())
我正在尝试执行以下教程: 我的代码是:C++ OpenCV错误:断言失败((未签名)(pt.x*数据类型<;Tp>;::通道)<;(未签名)(size.p[1]*通道()),c++,opencv,feature-detection,C++,Opencv,Feature Detection,我正在尝试执行以下教程: 我的代码是: int main(int argc, char** argv) { Mat img_1, img_2; img_1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE); img_2 = imread(argv[2], CV_LOAD_IMAGE_GRAYSCALE); if (!img_1.data || !img_2.data) { cout << "Error re
int main(int argc, char** argv)
{
Mat img_1, img_2;
img_1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
img_2 = imread(argv[2], CV_LOAD_IMAGE_GRAYSCALE);
if (!img_1.data || !img_2.data) {
cout << "Error reading image" << endl;
return EXIT_FAILURE;
}
// Create binary masks
Mat mask_1 = Mat::ones(img_1.size(), CV_8UC1);
Mat mask_2 = Mat::ones(img_2.size(), CV_8UC1);
// Create Binary Descriptor
Ptr<BinaryDescriptor> binary_descriptor = BinaryDescriptor::createBinaryDescriptor();
// Create Line Detector
Ptr<LSDDetector> line_detector = LSDDetector::createLSDDetector();
// Detect Lines
vector<KeyLine> detected_lines_1, detected_lines_2;
Mat descriptors_1, descriptors_2;
line_detector->detect(img_1, detected_lines_1, 2, 2, mask_1);
line_detector->detect(img_2, detected_lines_2, 2, 2, mask_2);
int main(int argc,char**argv)
{
材料img_1,img_2;
img_1=imread(argv[1],CV_LOAD_IMAGE_GRAYSCALE);
img_2=imread(argv[2],CV_LOAD_IMAGE_GRAYSCALE);
如果(!img_1.data | |!img_2.data){
无法检测(img_2,检测到的_线_2,2,2,掩模_2);
当我运行代码时,我收到错误:
OpenCV错误:在cv::Mat::at文件C:\OpenCV\OpenCV master\modules\core\include\opencv2/core/Mat.inl.hpp第978行,断言失败((未签名)(pt.x*数据类型::通道)<(未签名)(size.p[1]*channels())
我想这和面具有关
编辑:即使我完全复制了代码,我仍然会得到错误,但也是一个结果。也许这有助于其他人:也许这有助于其他人: