前提・実現したいこと
iOSアプリで動作する、読み込まれた画像を前景・後景に分離し、後景を(まずは)白い背景にするというプログラムを作りたいです。
OpenCVで実装しようと試みたのですが、cv::imread関数にて登録している画像を読み込もうとしたのですが、nullとなってしまい、エラーが発生してしまいます。
画像はXcodeのAssets.xcassetsの中に格納しております。
発生している問題・エラーメッセージ
terminating with uncaught exception of type cv::Exception: OpenCV(3.4.10) /Volumes/build-storage/build/3_4_iOS-mac/opencv/modules/imgproc/src/resize.cpp:3929: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
該当のソースコード
OpenCVManager.m
1//MARK: Blur 2-(UIImage*)doBlur:(CGFloat)blurSize isUpdatedSegmentation:(BOOL)isUpdatedSegmentation gradientMaskImage:(UIImage*)gradientMaskImage { 3 4(省略) 5 6//合成 7 cv::Mat whtimg, bgMat, fgMat, result; 8 9 //↓追加した文 10 whtimg = cv::imread("白背景.png",cv::IMREAD_COLOR); 11 resize(whtimg,whtimg,sourceMat.size(),1); 12 //↑追加した文 13 14 whtimg.copyTo(bgMat, bgMask); 15 sourceMat.copyTo(fgMat, fgMask); 16 cv::add(bgMat, fgMat, result); 17 18 return MatToUIImage(result); 19}
試したこと
whtimg = cv::imread("白背景.png",cv::IMREAD_COLOR);
の文を
whtimg = cv::imread("./白背景.png",cv::IMREAD_COLOR);
としても同じでした。
どのように修正すれば、登録された画像を正しく読み込むことができるでしょうか。
補足情報(FW/ツールのバージョンなど)
Xcode Version 10.3 (10G8)
iOS 12.4.6
Swift Version 5.0.1
OpenCV 3.4.10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/23 12:40 編集