ホームページ  >  記事  >  ウェブフロントエンド  >  Vue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法

Vue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法

WBOY
WBOYオリジナル
2023-07-19 11:05:151037ブラウズ

Vue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法

人工知能の急速な発展に伴い、画像認識技術はさまざまな分野で広く使用されています。 Vue は、応答性の高い Web アプリケーションの構築に役立つ人気のある JavaScript フレームワークです。この記事では、Vue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法を学びます。

まず、Vue プロジェクトを作成する必要があります。 Node.js と Vue CLI がインストールされていると仮定して、次のコマンドを実行して新しい Vue プロジェクトを作成します。

vue create image-recognition-app

次に、適切な構成を選択し、依存関係のダウンロードが完了するまで待ちます。完了したら、プロジェクト ディレクトリに入ります:

cd image-recognition-app

次に、必要な依存関係をいくつかインストールする必要があります。コマンド ラインで次のコマンドを実行します。

npm install tensorflow @tensorflow-models/mobilenet @tensorflow/tfjs @tensorflow/tfjs-converter

これらの依存関係パッケージは、画像認識の実行に役立ちます。次に、画像認識のロジックを処理するコンポーネントを作成します。 src ディレクトリに ImageRecognition.vue という名前のファイルを作成し、次のコードを追加します。

<template>
  <div>
    <input type="file" @change="handleImageUpload" accept="image/*" />
    <canvas ref="canvas" width="500" height="500"></canvas>
    <ul>
      <li v-for="(label, index) in labels" :key="index">
        {{ label.className }}: {{ label.probability.toFixed(2) }}
      </li>
    </ul>
  </div>
</template>

<script>
import * as tf from '@tensorflow/tfjs';
import * as mobilenet from '@tensorflow-models/mobilenet';

export default {
  data() {
    return {
      labels: [],
      model: null,
    };
  },
  methods: {
    async handleImageUpload(event) {
      const file = event.target.files[0];
      const image = await this.loadImage(file);
      this.drawImage(image);
      this.classifyImage(image);
    },
    loadImage(file) {
      return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.onload = (event) => {
          const image = new Image();
          image.onload = () => resolve(image);
          image.onerror = reject;
          image.src = event.target.result;
        };
        reader.onerror = reject;
        reader.readAsDataURL(file);
      });
    },
    drawImage(image) {
      const canvas = this.$refs.canvas;
      const context = canvas.getContext('2d');
      context.clearRect(0, 0, canvas.width, canvas.height);
      context.drawImage(
        image,
        0,
        0,
        canvas.width,
        canvas.height
      );
    },
    async classifyImage(image) {
      this.labels = [];
      if (!this.model) {
        this.model = await mobilenet.load();
      }
      const predictions = await this.model.classify(image);
      this.labels = predictions;
    },
  },
};
</script>

上記のコードでは、d5fd7aea971a85678ba271703566ebfd 要素を使用して画像ファイルをアップロードしました。ユーザーが画像ファイルを選択すると、handleImageUpload メソッドが呼び出されます。 FileReader を使用して画像ファイルを読み取り、新しい Image オブジェクトを作成します。次に、5ba626b379994d53f7acf72a64f9b697 要素内に画像を描画します。最後に、TensorFlow.js と MobileNet モデルを使用して画像を認識し、認識結果を一覧で表示します。

次に、App.vue ファイルの ImageRecognition コンポーネントを使用します。 App.vue ファイルを変更し、次のコードを追加します。

<template>
  <div id="app">
    <ImageRecognition />
  </div>
</template>

<script>
import ImageRecognition from './components/ImageRecognition.vue';

export default {
  name: 'App',
  components: {
    ImageRecognition,
  },
};
</script>

<style>
#app {
  text-align: center;
}
</style>

これで、Vue と Canvas の基本設定が完了しました。コマンド ラインで次のコマンドを実行して開発サーバーを起動します。

npm run serve

ブラウザで http://localhost:8080 を開き、アップロードする画像ファイルを選択すると、Canvas に画像が表示されます。画像内のオブジェクトの認識結果を一覧表示します。さまざまな画像ファイルをアップロードして、認識結果が正確かどうかを確認してください。 ######おめでとう! Vue と Canvas を使用したインテリジェントな画像認識アプリケーションの開発に成功しました。このアプリケーションは、画像内のオブジェクトを識別し、結果を表示することができます。

概要: この記事では、Vue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法を紹介します。画像認識に TensorFlow.js と MobileNet モデルを使用し、ユーザー インターフェイスを構築するために Vue を使用する方法を学びました。この記事があなたのお役に立ち、画像認識分野でのアプリケーション開発のためのガイダンスとインスピレーションを提供できれば幸いです。

以上がVue と Canvas を使用してインテリジェントな画像認識アプリケーションを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。