Swift + OpenCVでのエラー

おこなっていること

https://takumi-oda.com/blog/2022/03/06/post-2143/
こちらのサイトを参考に,SwiftでOpenCVを用いて二値化するコードを作成しました.
実行後にボタンをタップすると下記のエラーメッセージが出ます.

発生している問題・エラーメッセージ

CGBitmapContextInfoCreate: CGColorSpace which uses extended range requires floating point or CIF10 bitmap context CGContextDrawImage: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

該当のソースコード

swift

1import SwiftUI2import opencv2 3 4struct ContentView: View {5 @State var img:UIImage? = nil6 var body: some View {7 if let img = img {8 Image(uiImage: img)9 .resizable()10 .scaledToFit()11 }12 Button(action: {13 let readImg = UIImage(named: "001")14 let src = Mat(uiImage: readImg!)15 // グレースケール16 Imgproc.cvtColor(src: src, dst: src, code: ColorConversionCodes.COLOR_RGB2GRAY)17 let dst = Mat()18 // 二値化19 Imgproc.threshold(src: src, dst: dst, thresh: 0, maxval: 255, type: ThresholdTypes.THRESH_BINARY)20 img = dst.toUIImage()21 }){22 Text("change img")23 }24 }25}26 27struct ContentView_Previews: PreviewProvider {28 static var previews: some View {29 ContentView()30 }31}

試したこと

エラー文を検索してみましたが,解決に至りませんでした.

補足情報(FW/ツールのバージョンなど)

macOS 14.1.2
Xcode 15.0.1

コメントを投稿

0 コメント