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

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

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

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1071閲覧

OpenCV Plus UnityでARをやりたいのですが序盤で引っ掛かりました

M7ruisen2525

総合スコア1

OpenCV

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2023/05/17 13:08

今学校祭のステージでAR演出をやろうと思っています
OpenCV Plus Unityを使ってARをやりたいのですが

カメラの画像を入力するCスクリプト(以下)

using UnityEngine; using System.Collections; using System.Collections.Generic; public class WebcamTextureExample : MonoBehaviour { private WebCamTexture webcamTexture; private Texture2D resultTexture; private RawImage rawImage; private void Start() { rawImage = GetComponent<RawImage>(); InitializeWebcamTexture(); } private void InitializeWebcamTexture() { if (WebCamTexture.devices.Length == 0) { Debug.LogError("No webcam devices found."); return; } webcamTexture = new WebCamTexture(WebCamTexture.devices[0].name, 100, 100); webcamTexture.Play(); } private void Update() { if (webcamTexture == null || !webcamTexture.isPlaying) return; Mat mat = Unity.TextureToMat(webcamTexture); resultTexture = Unity.MatToTexture(mat); rawImage.texture = resultTexture; } private void OnDestroy() { if (webcamTexture != null && webcamTexture.isPlaying) webcamTexture.Stop(); } }


The type or namespace name 'RawImage' could not be found (are you missing a using directive or an assembly reference?)

というエラーが出ます、、、
まだUnity初心者なので誰か助けていただけると幸いです
このコードに一番上にusing UnityEngine.UI;
を追加したらエラーが二個増えました
よろしくお願いいたします。
またサポートしてくださる有志の方がいらっしゃいましたらお声がけしていただけると幸いです!
@Mentaru7ruisen

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2023/05/17 13:10

> このコードに一番上にusing UnityEngine.UI; > を追加したらエラーが二個増えました このときのエラーメッセージを記載してください。
M7ruisen2525

2023/05/17 15:54

すみません3つでした Assets\Scripts\WebcamTextureExample.cs(36,9): error CS0246: The type or namespace name 'Mat' could not be found (are you missing a using directive or an assembly reference?) と Assets\Scripts\WebcamTextureExample.cs(36,19): error CS0234: The type or namespace name 'TextureToMat' does not exist in the namespace 'Unity' (are you missing an assembly reference?) と Assets\Scripts\WebcamTextureExample.cs(37,25): error CS0234: The type or namespace name 'MatToTexture' does not exist in the namespace 'Unity' (are you missing an assembly reference?) です
YAmaGNZ

2023/05/17 22:11

usingが足りないのでは?
M7ruisen

2023/05/17 23:28

なんのuseingですか?
yominet

2023/05/18 00:25

OpenCV関連のUsingがないようにみえますが 今どきは必要なくなった?
himazin.blm

2023/05/18 00:34

「Unity RawImage」でググったら1ページ目にあった検索結果ページの 「using UnityEngine.UI; //RawImage は UI のため追加」とか書いてありました。 詰まるたびにいちいち人に聞いていたら話が進みません。 自分で検索して答えを得られるように検索技能を磨きましょう。
M7ruisen

2023/05/18 01:50

ちゃんとググって調べてから質問してます 確かに検索技能が自分には足りないかもしれません、、、 けど困ってるからここに質問してるんです。 ググってわかってたら質問してません 引き続き回答募集します
1T2R3M4

2023/05/18 02:27

質問する時は行動規範に同意するって出ないのでしょうか。 または同意しなくても質問できるのでしょうか。
YAmaGNZ

2023/05/18 02:44

OpenCV Plus Unityって検索したらサンプルとか出てきます。 当然このプログラムを作成される際にも検索されていると思います。 それらにusingの記載もあるはずです。
himazin.blm

2023/05/22 07:52

うまく検索できていないようだったので、私は検索のための具体的なキーワード例を提示し、 その結果をどう使うかを例示しました。結果が出ている話ですから、効果があることも 証明されたと言っていい手法です。 同じことを修正後に出たエラーメッセージに対してやればいいだけの話です。
guest

回答1

0

ベストアンサー

ライブラリを使うためには、使いたいライブラリをusingする必要があります。
今回の場合、OpenCV Plus Unityを使いたいのにOpenCV Plus Unityをusingしていませんよね。
必要なライブラリをusingしていないのに気づかないというのは、C#の基礎が出来ていないのだと思われます。
基礎が出来ていないことは、いくらネットで検索しても答えを得ることは難しいです。なぜなら、基礎が出来ていないと正しく検索することが出来なかったり、何を検索すればいいのか検討がついていないので頓珍漢な検索をしてしまうからです。

ですので、質問者さんが今しなければならないことは、C#の基礎をきちんと勉強することです。じゃないと、やりたいことを完成させるのはほぼ不可能です。
正直言って、質問サイトで質問をするレベルに達していません。まずは基礎を固めましょう。

前置きが長くてすみません。
質問にたいする回答としては、

1.OpenCvSharpとUnityEngine.UIをusingする。
2.Unity.TextureToMatとUnity.MatToTextureに関しては、前にOpenCvSharpをつけて使うのが良さそうです。
(おそらく、Unityという名前がUnity内部の何かとバッティングしてうまく処理出来なくなっていそう。)

以下に、問題点を修正したコードを載せておきます。

using UnityEngine; using OpenCvSharp; // OpenCvSharpをusingする。 using UnityEngine.UI; // UnityEngine.UIをusingする。 public class WebcamTextureExample : MonoBehaviour { // (略) private void Update() { if (webcamTexture == null || !webcamTexture.isPlaying) return; Mat mat = OpenCvSharp.Unity.TextureToMat(webcamTexture); // OpenCvSharpを前に追加 resultTexture = OpenCvSharp.Unity.MatToTexture(mat); // OpenCvSharpを前に追加 rawImage.texture = resultTexture; } // (略) }

投稿2023/05/23 04:03

JunSuzukiJapan

総合スコア310

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

M7ruisen2525

2023/05/24 09:57

本当にありがとうございました! もっと勉強します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問