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

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

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

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

2857閲覧

opencv3でfindContours等があいまいです

退会済みユーザー

退会済みユーザー

総合スコア0

OpenCV

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/11/16 07:30

編集2018/11/16 07:42

本(図書名は失念しましたが「Number Plate Recognition using SVM and Neural Network」という章のもの)に載っていたナンバープレート認識プログラムを動かそうと思い写しましたが、載っていない部分(includeやカメラからの画像読み込みの為のコード等)が分からず自分なりに調べて付け加えた結果エラーがたくさん出ている状態です。

他のサンプルコードは動き、パスの設定も正しいと思います。
C++もopencvも初心者のため教えて頂けたら嬉しいです。

以下の「//convert image to gray」からが本に書いてあったもので章の終わりまでの分を全てとりあえず写しました。

コード

#include<opencv2/opencv.hpp> #include<opencv2/core/core.hpp> //Mat等? #include<opencv2/dnn/dnn.hpp> #include<opencv2/ml.hpp> #include<opencv2/highgui.hpp> #include<vector> #include<stdio.h> #include<string.h> using namespace std; using namespace cv; int main(int argc, char* argv[]) { CvCapture* src; // ビデオキャプチャ宣言 IplImage *frame; // 画像リソース宣言 src = cvCaptureFromCAM(0); // 映像取得(カメラ映像) if (src == NULL) { printf("映像が取得できません。\n"); cvWaitKey(0); return -1; } while (1) { frame = cvQueryFrame(src); if (frame == NULL) break; cvReleaseImage(&frame); Mat input; //convert image to gray(以下本に記載されているコード) Mat img_gray; cv::cvtColor(input, img_gray, CV_BGR2GRAY); cv::blur(img_gray, img_gray, Size(5, 5)); void Sobel(InputArray src, OutputArray dst, int ddepth, int xorder, int yorder, int ksize = 3, double scale = 1, double delta = 0, int borderType = BORDER_DEFFAULT); //Find vertical lines. Car plates have high density of vertical lines Mat img_sobel; Sobel(img_gray, img_sobel, CV_8U, 1, 0, 3, 1, 0); //threshold image Mat img_threshold; cv::threshold(img_sobel, img_threshold, 0, 255, CV_THRESH_OTSU + CV_THRESH_BINARY); Mat element = cv::getStructuringElement(MORPH_RECT, Size(17, 3)); morphologyEx(img_threshold, img_threshold, CV_MOP_CLOSE, element); //Find contours of possibles plates vector<vector<Point>> contours; findContours(img_threshold, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);

エラー

識別子 "VERTICAL" が定義されていません "verifySizes" が定義されていません 識別子 "TrainData" が定義されていません 識別子 "SVM" が定義されていません 識別子 "ROW_SAMPLE" が定義されていません 識別子 "ROW_SAMPLE" が定義されていません 識別子 "resultResized" が定義されていません 識別子 "ProjectedHistgram" が定義されていません 識別子 "pointsInterest" が定義されていません 識別子 "Plate" が定義されていません 識別子 "plate" が定義されていません 識別子 "ocr" が定義されていません 識別子 "numCharacters" が定義されていません 識別子 "mask" が定義されていません 識別子 "mask" が定義されていません 識別子 "input_image" が定義されていません 識別子 "input_image" が定義されていません 識別子 "input" が定義されていません 識別子 "HORIZONTAL" が定義されていません 識別子 "BORDER_DEFFAULT" が定義されていません 識別子 "ann" が定義されていません 識別子 "ann" が定義されていません 数字の必要とされる末尾の後に余分なテキストがあります 式にはクラス型が必要です 式が必要です 宣言が必要です . 型名は使用できません 名前の後に '::~' を付けることができるのはクラス名または名前空間名だけです . パラメーター "TrainData" は型の名前ではありません オーバーロードされた関数 "data" のどのインスタンスが対象であるかを特定できません この宣言にはストレージ クラスまたは型指定子がありません . この定数式には、必要な型 "unsigned int" ではなく型 "const char *" が指定されています class "cv::Mat_<uchar>" にメンバー "LineIterator" がありません class "cv::Mat" にメンバー "seros" がありません ';' が必要です . ')' が必要です . "findContours" があいまいです "end" があいまいです

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

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

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

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

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

tiitoi

2018/11/16 07:35

エラーが出ている箇所が記載されたコードの外の話なので、質問欄の情報から回答するのは無理です。コンパイルエラーが起きている箇所をまずは確認してみてはどうでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問