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

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

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

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

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

Q&A

解決済

3回答

7804閲覧

エラー「'putText':識別子が見つかりませんでした」について

TOC

総合スコア21

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

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

0グッド

0クリップ

投稿2016/02/05 05:11

編集2016/02/05 05:17

OpenCVに関する質問です。
最近OpenCVについての勉強を始めました。
OpenCVをインストールして、Visual Studioで何とか使えるようになったので、下記ホームページを参考にサンプルコードを打ち込んで練習をしようと思いましたが、putText関数が使えませんでした。
参考にしたHP
エラー内容は「putText識別子が見つかりません」と表示され、putTextが定義されていません、と出てきます。
namedWindowsやimshowなどではそのようなエラーが出ないのですが、putTextだけエラーになる理由がわかりません。
プログラミングやVisual Studioの使い方なども初心者で、対処法がわからないので教えて頂きたいです。
お手数ですが、宜しくお願い致します。

以下僕が打ち込んだコードです。

Visual

1// OpenCVApplication1.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 2// 3 4#include "stdafx.h" 5#include <opencv2\core\core.hpp> 6#include <opencv2\highgui\highgui.hpp> 7 8using namespace cv; 9 10int main(int argc, _TCHAR* argv[]) 11{ 12 Mat image1 = imread("lena.jpg"); 13 putText(image1, "Hello World!", Point(50, 100), 14 FONT_HERSHEY_PLAIN, 4, Scalar(255, 255, 0), 3, CV_AA); 15 namedWindow("初めてのOpenCVプログラム"); 16 imshow("初めてのOpenCVプログラム", image1); 17 waitKey(0); 18 destroyAllWindows(); 19 return 0; 20} 21

・エラー一覧

![

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

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

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

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

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

guest

回答3

0

ヘッダーファイルを個別にインクルードする意図が判りませんが、とりあえず#include <opencv2/opencv.hpp>これ1行で済むと思います。


追記
コードページ云々は、BOMなしUTF-8で保存されていると、たまに発生することがあります。当該のファイルを見てみたら、確かにShift-JISにはない文字が使われていました。
とりあえず、コメントの中の文字なので無視しても問題はありませんが、気になるならその警告をダブルクリックしてファイルを開き、「ファイル」メニューの「保存オプションの詳細設定」でエンコードを「Unicode(UTF-8 シグネチャ付き) - コードページ 65001」に変更して保存すれば警告は出なくなります。

投稿2016/02/05 07:56

編集2016/02/05 08:18
catsforepaw

総合スコア5938

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

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

TOC

2016/02/07 13:30 編集

ご回答ありがとうございます。 個別にインクルードしていたのは、サンプルコードをそのまま写していたのですが、まとめて書けるのですね。勉強になりました。ありがとうございます。 問題に対しては、ひとつ前のバージョンで最も新しい2.4.11を使用したところ解決できました。3.0.0は新しいため情報が少ないようなので、ひとまずは2.4.11を使うことにしました。 ご回答ありがとうございました。非常に参考になりました。 アドバイス頂いた点も含め、勉強を続けたいと思います。
guest

0

ベストアンサー

こんにちは。

手元の2.4.9なら問題なく動作しました。
でも、3.0.0だと同じくコンパイルエラーになりました。
3.0.0にもputTextは含まれているようなのですが、何か見落としているのかも知れません。

参考にされたサイトと同じ2.4.10を使われた方が無用なトラブルが起きにくいと思います。


【追記】
気になったのでもう少し見てみました。

#include <opencv2\highgui\highgui.hpp>
ではなく
#include <opencv2\opencv.hpp>
とすれば、コンパイルエラーはなくなりました。

でも、山程リンクエラーがでます。リンクするライブラリが2.4.xとかなり変わっているようです。(libファイル名の249等を300へ変更するだけではダメ)
ここを参考にすればたぶん実行できるようになると思います。

投稿2016/02/05 06:04

編集2016/02/05 12:26
Chironian

総合スコア23272

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

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

TOC

2016/02/07 13:34

ご回答ありがとうございます。 参考HPまでつけていただき、非常に参考になりました。 問題についてですが、アドバイス頂いたように、2.4.xで最も新しい2.4.11を使うことにしました。3.0.0についてはまだ情報が少なく、参考になるHPのほとんどが2.4.xを使っているためひとまずは2.4.11を使って勉強することにしました。 ご回答本当にありがとうございました。問題が解決しましたので、勉強を進めていきたいと思います。
guest

0

エラーで表示されてるヘッダファイルがUnicodeで記述されているため、コンパイラから読めない文字がふくまれているように解釈されている、というエラーです。
OpenCVのダウンロードサイトにWindows用の一式がありますので、そちらを使用することで解決すると思います。

投稿2016/02/05 05:32

KoichiSugiyama

総合スコア3041

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

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

TOC

2016/02/05 05:44

ご回答ありがとうございます。 早速リンク先を拝見致しました。 私もこのサイトでダウンロードしたのですが、一番最新のOpenCV-3.0.0はWindowsには対応していない、ということでしょうか。 よくわからなかったので一番新しいものをダウンロードしたのですが、Windows用はリンク先のものが一番適しているのでしょうか。 かなり基礎的な質問かもしれませんが、宜しくお願い致します。
KoichiSugiyama

2016/02/05 06:30 編集

上記でしめしたURLはOpneCV.jpのダウンロードサイト(http://opencv.jp/download)からWindows版を選択してジャンプした際のURLですが、情報が古かったようです。 最新のものを使用されるのであれば、ソースコードの文字コードをShift-JISに変換してみてはどうでしょうか?エラーメッセージからはputTextへの定義にたどり着く前に文字コードの関係でファイルが読めなくなっていると思われますので、読める形式に変換することで回避可能かもしれません。
TOC

2016/02/07 13:39

ご回答ありがとうございます。 返信が遅くなってしまい申し訳ございません。 3.0.0で行いたかったのですが、まだ3.0.0は新しく情報が少ないのと、参考HPのほとんどが2.4.xを用いているので、ひとまず2.4.11を使うことにしました。 2.4.11を使った結果、問題なく実行できました。 解決策を提案して頂いたのですが、活かせず申し訳ございません。 提案して頂いた解決策についても勉強が足らない部分がありましたので参考になりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問