20220110のSwiftに関する記事は3件です。

【SwiftUI】TabViewを使用した簡単なタブの実装方法

コード struct ContentView: View { var body: some View { TabView { FirstView() .tabItem { Image(systemName: "1.square.fill") Text("First") } SecondView() .tabItem { Image(systemName: "2.square.fill") Text("Second") } ThirdView() .badge(5) .tabItem { Image(systemName: "3.square.fill") Text("Third") } } } } TabViewで囲い各タブごとに表示したいViewを追加していきます。.tabItemにImageとTextを追加することでアイコンとテキストを表示できます。 ThirdView() .badge(5) .badgeで簡単にバッジを表示できます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

M1 MacにVSCodeをインストールする方法

はじめに Apple silicon(以下、M1)のMacにエディターのVisual Studio Code(以下、VSCode)をインストールする手順をまとめた 今までのIntel版ではスムーズにインストールできましたが M1版では同じようにいかないため、その追加点を記載した ※ターミナルからコマンドでインストールできるみたいです 手順 1.下記を開く ここで注意して欲しいのが 一番右側のMacにある下記の写真の箇所 「↓ Mac macOS 10.11+」ではなく その下の ".zip"から続く青い3つのオブジェクトの 「Apple Silicon」を選択すること 2.インストールしたzipを解凍 3.解凍して出てきたappをアプリケーションへドラッグ&ドロップ 開くと 英語表示...(>_<) 次回、VSCode日本語化!!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

スマホでリアルタイムで物体を認識したいなら、CoreMLモデルにカメラフィードを食わせるだけでOK

iPhoneのカメラでリアルタイムで物体認識をする方法です スマホのカメラで物体認識をするのはかんたんなのか? スマホのカメラにうつるものがリアルタイムで判別できれば、色々なアプリに応用できそう。 しかし、物体認識は機械学習でおこなうが、ちょっとややこしそうな気もする。 しかも、1枚の画像ならまだしも、リアルタイムでカメラの映像を認識するのは設定が多そう。 CoreMLモデルにCaptureOutputを食わせるだけ 実は、それほどたくさんコードが必要なわけではない。 CoreMLモデルさえあれば、AVFoundationで取得したフレームをモデルに与えるだけで、リアルタイム物体認識ができる。 手法 まずはCoreMLの画像認識モデルを入手する。 ネット上から入手できるので、好みのものを使おう。 Appleが公式に配布しているものなど、画像認識モデルにはいろいろな種類があり精度もさまざまだが、 今回は、CoreMLモデル・ズーであるCoreML-Modelsから最新モデルであるRepVGGをダウンロードしてつかってみる。 モデルをSwiftで初期化する。 self.coreMLRequest = VNCoreMLRequest(model: try! VNCoreMLModel(for: try! RepVGG-A0(configuration:MLModelConfiguration()).model)) AVCaptureOutputのフレームをモデルに食わせる。 func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return } let handler = VNImageRequestHandler(cvPixelBuffer:buffer, orientation: .right, options: [:]) do { try handler.perform([self.coreMLRequest]) guard let result = self.coreMLRequest.results?.first as? VNClassificationObservation else { return } let label = observation.identifier let confidence = observation.confidence } catch let error { print(error) return nil } } これで、リアルタイムで認識結果のラベル(クラス名)と信頼度が得られます。 高速にフレームごとに処理してくれます。 さまざまな用途に このような手法でスマホのカメラに映った任意のものをリアルタイムで判別できれば、コンシューマーだけでなく例えば監視カメラの映像を判別したり、工場のラインで物体認識したり、いろいろな用途に使えます。 ? フリーランスエンジニアです。 お仕事のご相談こちらまで rockyshikoku@gmail.com Core MLやARKitを使ったアプリを作っています。 機械学習/AR関連の情報を発信しています。 Twitter Medium
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む