質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.69%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

Q&A

1回答

2719閲覧

unityでArUcoマーカーを検出したい。Webカメラは起動したのですがマーカーが認識されないので解決したい。

himel

総合スコア0

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

0グッド

0クリップ

投稿2021/10/29 06:08

UnityでArUcoマーカーを検出しようとしています。
webカメラは起動できたのですが、NullReferenceException: Object reference not set to an instance of an object
webcam.Update () (at Assets/Script/webcam.cs:40)
というエラーが出てしまいマーカーが認識できません。ご教授していただけると助かります。

試したこと

RawImageを作ってスクリプトをアタッチしました。40行目のカメラフレーム更新の bool v = cam.Read(cam_frame);が指摘されていたのでカメラフレームについて調べました。

using UnityEngine; using OpenCvSharp; using System.Collections; using System.Collections.Generic; using OpenCvSharp.Aruco; using UnityEngine.UI; public class webcam : MonoBehaviour { private VideoCapture cam; public Mat cam_frame; private const PredefinedDictionaryName dictName = PredefinedDictionaryName.Dict4X4_50; private Dictionary ar_dict; private DetectorParameters detect_param; private static readonly int INPUT_SIZE = 300; private static int FPS = 30; private RawImage rawImage; WebCamTexture webCamTexture; private void Start() { this.rawImage = GetComponent<RawImage>(); this.webCamTexture = new WebCamTexture(INPUT_SIZE, INPUT_SIZE, FPS); this.rawImage.texture = this.webCamTexture; this.webCamTexture.Play(); ar_dict = CvAruco.GetPredefinedDictionary(dictName); detect_param = DetectorParameters.Create(); } void Update() { Point2f[][] maker_corners; int[] maker_ids; bool v = cam.Read(cam_frame); CvAruco.DetectMarkers(cam_frame, ar_dict, out maker_corners, out maker_ids, detect_param, out _); if (maker_ids.Length > 0) { CvAruco.DrawDetectedMarkers(cam_frame, maker_corners, maker_ids, new Scalar(0, 255, 0)); } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

guest

回答1

0

camって変数が定義されてるだけでなにも代入されてません

投稿2021/10/29 06:11

y_waiwai

総合スコア87252

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.69%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。