Resumen de error de openCV3 (1) --- excepción causada por el parámetro RECT

1. Fenómeno del problema:

El compilador informa un error: excepción no controlada en 0x00007FFE8CCFCD29 (en photo mix.exe): excepción de Microsoft C++: cv::Exception en la ubicación de memoria 0x000000F60319F020.

2. Análisis del problema:

El código fuente es el siguiente:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main() {
    Mat srcImage1 = imread("卧室智能家居总图.jpg");
    Mat logoImage = imread("智能家居.jpg");
    if (!srcImage1.data) {
        printf("读取srcImage1错误!\n");
        return 0;
    }
    if (!logoImage.data) {
        printf("读取logoImage错误!\n");
        return 0;
    }

    Mat imageROI = srcImage1(Rect(200, 150, logoImage.cols, logoImage.rows));
    Mat mask = imread("智能家居.jpg", 0);
    logoImage.copyTo(imageROI, mask);
    namedWindow("<1>利用ROI实现图像叠加示例窗口");
    imshow("<1>利用ROI实现图像叠加示例窗口", srcImage1);
    waitKey(0);

    return 1;

}

Después de la depuración, se puede encontrar que hay un problema con esta oración.

 Dado que una de las imágenes que elegí es de 790*1141 y la otra de 800*680, el ROI seleccionado excede el rango de la imagen original, lo que eventualmente conduce a una interrupción anormal.

3. Solución:

Ajuste los parámetros de intercepción de ROI o ajuste los píxeles de la imagen (según el tamaño de la imagen seleccionada por el individuo).

Supongo que te gusta

Origin blog.csdn.net/qq_43593751/article/details/128179230
Recomendado
Clasificación