Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
上記のエラー文が解消されなくて困っています。解決法わかる方いましたらお願いします。
問題のプログラム
cv::Point *readPixmap(const char *fname, int xsize, int ysize) { int i, j, pt; cv::Mat MatIm; cv::Point *tmpim; printf("%s\n",fname); MatIm = cv::imread(fname,cv::IMREAD_ANYDEPTH|cv::IMREAD_COLOR); if (MatIm.empty()) { cout << "Not found pixmap: " << fname << endl; } // cout << MatIm.ptr<unsigned short>(500, 500)[2] << endl; if(MatIm.type()!=CV_16UC3){ cout << "Illegal Format: " << fname << " depth = " << MatIm.type() << endl; cout << "type: " << ( MatIm.type() == CV_8UC3 ? "CV_8UC3" : MatIm.type() == CV_16SC1 ? "CV_16SC1" : MatIm.type() == CV_16UC3 ? "CV_16UC3" : MatIm.type() == CV_64FC2 ? "CV_64FC2" : "other" ) << endl; MatIm.release(); } cout << MatIm.ptr<unsigned short>(500, 500)[2] << endl; cout << "type: " << ( MatIm.type() == CV_8UC3 ? "CV_8UC3" : MatIm.type() == CV_16SC1 ? "CV_16SC1" : MatIm.type() == CV_16UC3 ? "CV_16UC3" : MatIm.type() == CV_64FC2 ? "CV_64FC2" : "other" ) << endl; pt = 0; for(i=0;i<ysize;i++){ for(j=0;j<xsize;j++){ if(MatIm.ptr<unsigned short>(i, j)[2] != PL){ std::cout << MatIm.ptr<unsigned short>(i, j)[2] << std::endl; std::cout << tmpim[pt].x << std::endl; tmpim[pt].x = MatIm.ptr<unsigned short>(i, j)[2]; //(エラー発生箇所) tmpim[pt].y = MatIm.ptr<unsigned short>(i, j)[1]; } } } return(tmpim); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/30 02:48