(-215:Assertion failed) !ssize.empty() in function 'cv::resize'
时间: 2023-08-14 07:29:50 浏览: 154
这个错误提示是因为在调用`cv::resize`函数时输入的图像尺寸为空导致的。可能出现这个问题的原因有以下几个:
1. 输入的图像路径不正确,导致无法读取到图像。
2. 读取到的图像为空,可能是因为图像格式不支持或者图像文件损坏。
3. 在调用`cv::resize`函数时输入的图像尺寸为空。
解决这个问题可以按照以下步骤进行:
1. 确认输入的图像路径是否正确,可以在读取图像之前先检查一下文件是否存在。
2. 确认读取到的图像不为空,可以在读取图像之后检查一下图像的大小是否符合要求。
3. 在调用`cv::resize`函数时需要指定输出图像的大小,可以在调用函数之前先检查一下输入图像的大小是否为空。
下面是一个Java OpenCV中调用cv::resize函数的示例代码:
```java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ResizeImage {
public static void main(String[] args) {
// 加载需要调整大小的图片
Mat source = Imgcodecs.imread("src/main/resources/test.jpg");
// 检查输入的图像是否为空
if (source.empty()) {
System.out.println("Failed to read image!");
return;
}
// 调整图片大小
Size size = new Size(600, 600);
Imgproc.resize(source, source, size);
// 保存调整后的图片
Imgcodecs.imwrite("src/main/resources/resized.jpg", source);
}
}
```
这个示例中首先加载需要调整大小的图片,然后检查输入的图像是否为空。接着调整图片大小,并保存调整后的图片。
阅读全文