Why this code returns Segmentation fault error?

前端 未结 1 1120
星月不相逢
星月不相逢 2021-01-23 05:00

I have implemented the following code to perform filter2D on a matrix. After I compiled the program it returns Segmentation fault error. In this program, I want to assign an inp

1条回答
  •  囚心锁ツ
    2021-01-23 05:27

    According to the comments, the problem has been found! It is because of casting the Mat object to InputArray and OutputArray in filter2D function. I changed the implementation to the following program and it works.

    #include "opencv2/imgproc/imgproc.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include 
    #include 
    #include 
    #include 
    
    //Picture size for input and output are the same
    #define MAX1 4096
    
    #define Pxsize MAX1
    #define Pysize Pxsize
    
    //Kernel size
    #define Kxsize 9
    #define Kysize Kxsize
    //number of iterations
    #define NUM_LOOP 10000
    
    using namespace std;
    using namespace cv;
    
    unsigned short int A[Pxsize][Pysize];
    unsigned short int B[Pxsize][Pysize];
    unsigned short int K[Kxsize][Kysize];
    
    // measuring the time
    double pTime = 0, mTime = 10; // to indicate how much program time is (pTime) and how much i want to wait (mTime) 
    struct timespec start;
    
    
    int main(){
        //singleCore
        struct timespec tStart, tEnd;//used to record the processiing time
        double tTotal , tBest=10000;//minimum of toltal time will asign to the best time
        int w=0;
    
        //filter arguments
        Point anchor;
        double delta;
        int ddepth;
    
        //assign data between 0 and 255 to the input matrix
        int i,j;
        for (i=0; i

    0 讨论(0)
提交回复
热议问题