OpenCV(4.0.1) C:\ci\opencv-suite_1573470242804\work\modules\core\src\arithm.cpp:229: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and type), nor 'array op scalar', nor 'scalar op array' in function 'cv::binary_op'
时间: 2024-04-22 10:27:15 浏览: 8
这个错误是由于你在使用OpenCV时输入的两个数组的尺寸不匹配所导致的。请检查你的代码,确保你输入的两个数组具有相同的尺寸和类型。你可以使用cv::Mat类的size()方法来检查两个数组的尺寸是否相同,使用type()方法检查它们的类型是否相同。如果这两个数组的尺寸和类型不同,你需要对它们进行调整或者使用其他的方法来实现你的目的。
相关问题
OpenCV(4.0.1) C:\ci\opencv-suite_1573470242804\work\modules\core\src\matmul.cpp:1218: error: (-215:Assertion failed) type == CV_64FC2 in function 'cv::gemmImpl'
这个错误提示是因为你传递给 OpenCV 的矩阵类型不匹配。具体来说,你的代码中使用的矩阵类型应该是 CV_64FC2,但是你传递给 OpenCV 的矩阵类型不是这个。你需要检查一下你的代码,看看是不是有地方出现了类型错乱的问题。另外,你也可以尝试使用 cv::Mat::convertTo() 方法将矩阵类型转换为所需的类型,以解决这个问题。
opencv(4.0.1) c:\ci\opencv-suite_1573470242804\work\modules\imgproc\src\color.cpp:181: error: (-215:assertion failed) !_src.empty() in function 'cv::cvtcolor'
### 回答1:
该错误信息是opencv的一个版本为4.0.1的color.cpp文件中出现的一个assertion错误,错误信息显示在函数'cv::cvtColor'中的'_src.empty()'中触发了assertion,意思是源图像为空。
### 回答2:
这个错误提示是由于在使用OpenCV中的颜色转换函数cv::cvtColor时,输入的图像为空或不存在。具体而言,函数要求第一个参数_src必须为非空且存在的图像,否则就会触发这个assertion失败的错误。
解决这个问题的方法是检查传入函数的图像是否为空、路径是否正确以及图像读取是否成功。如果输入的图像为空,可以检查读取的图像格式是否正确,或者修改代码以确保输入图像不为空。如果路径错误或者读取失败,可以尝试使用其他的路径或者换一个图像。
同时,还需要检查代码中是否正确的初始化了OpenCV的环境,如是否正确导入头文件、是否正确链接了库等。如果需要加载其他的模块,还需要检查模块是否正确导入,并且调用函数之前是否正确初始化该模块。尤其是在使用动态链接库(DLL)时,由于依赖的库导入可能存在多个版本,需要特别注意版本的匹配。
总之,要解决这个opencv c:\ci\opencv-suite_1573470242804\work\modules\imgproc\src\color.cpp:181: error: (-215:assertion failed) !_src.empty() in function 'cv::cvtcolor'的错误,需要对发送错误的代码进行逐个检查,找到导致错误的原因,逐步排除错误。
### 回答3:
现象:
在使用OpenCV进行图像颜色空间转换时,出现了如题所述的报错信息。
原因:
该报错信息表示,程序在执行图像颜色空间转换时,发现了源图像为空。这可能是由源图像路径错误、图像加载失败、图像格式不支持等原因造成的。
解决方法:
1.检查源图像路径是否正确,并使用cv::imread()函数加载图像文件,确保加载成功。
2.检查源图像格式是否支持转换到指定的颜色空间。如果源图像格式不支持特定颜色空间转换,则必须先将其转换为支持指定转换的格式。
3.检查您的源代码和函数调用,确保您没有意外删除或替换图像数据。
4.使用cv::Mat::empty()函数检查源图像是否为空,如果是,则不执行颜色空间转换,或使用cv::Mat::zeros()函数将其声明为空图像。
总结:
如果您遇到了这个OpenCV错误,那么很可能是由源图像的调用问题导致的。通过检查源图像路径、格式、加载和内容,您可以解决这个OpenCV错误并成功地转换图像颜色空间。