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

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

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

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

Visual Studio

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

OpenCV

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

C++

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

解決済

【Visual C++】「E1696 ソース ファイルを開けません」エラーによりサンプルコードが実行できない

yamaji1108
yamaji1108

総合スコア19

Visual C++

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

Visual Studio

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

OpenCV

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

C++

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

3回答

0評価

0クリップ

32443閲覧

投稿2020/05/02 07:56

編集2020/05/02 08:46

前提・実現したいこと

こちらのサイトのExample1を実行させたいです。
http://web.wakayama-u.ac.jp/~wuhy/opencv.pdf

手順通りVisual StudioとOpenCVをインストールし、Example1というプロジェクトを作成し、
下記のソースファイル(Example1.c)をこのプロジェクト内に追加いたしました。

■各ディレクトリ
プロジェクトファイル→C:\Users\user\source\opencv\Example1
OpenCV→C:\Program Files (x86)\opencv
Visual Studio→C:\Program Files (x86)\Microsoft Visual Studio

該当のソースコード

c

#include <stdio.h> #include <stdlib.h> // OpenCVのヘッダファイル #include <cv.h> #include <highgui.h> int main(int argc, char **argv){ IplImage *image; //画像を扱う構造体 char *pixel; //画素のポインタ int x,y,c; //ループカウンタ //引数の個数チェック if(argc<3) { fgrintf(stderr,"usage:%s input output\n",argv[0]); exit(1); } //画像ファイルの読み込み image = cvLoadImage(argv[1],1); //画像を処理する for(y=0;y<image->height;y++) for(x=0;x<image->width;x++){ // (x,y)の座標の画素のアドレスを計算 pixel = image->imageData + y*image->widthStep + x*image->nChannels; // 各色成分に対して処理 for(c=0;c<image->nChannels;c++) // 各色を反転 pixel[c] = 255 - pixel[c]; } // 処理した画像をファイルに書き込む cvSaveImage(argv[2],image); //画像の開放 cvReleaseImage(&image); return 0; }

実行するとエラーメッセージが出力されてしまいます。

イメージ説明

一番上のエラーコード「E1696」で検索してみると、INCLUDE環境変数のパスが通ってないみたいなので、
下記のように構成プロパティからopencvのincludeディレクトリを手動で追加してみたのですが、

イメージ説明

イメージ説明

余計にエラーメッセージが増えてしまいました。

パスの設定の仕方が間違っていますでしょうか。
どうか、ご教授のほどお願いします。

補足情報(FW/ツールのバージョンなど)

・Microsoft Visual Studio Community 2019
Version 16.5.4
・OpenCV 3.4.3

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

pepperleaf

2020/05/02 08:22

アップされたコードは、.c ですが、エラーの出ている画面は、.cpp となっていますが、どちら?
yamaji1108

2020/05/02 08:44

失礼いたしました。 正しくは.cです。 紛らわしくて申し訳ありませんが、Example1.cppはプロジェクト作成したときに自動的に作られるHello Worldソースファイルなので無関係です。
episteme

2020/05/02 09:05

件のサイトのサンプル、OpenCV 0.9.9 て...すっごく旧いけどだいじょうぶ?
yamaji1108

2020/05/02 09:12

ご指摘ありがとうございます。 友人から「こういうのから始めれば?」と教えてもらったサイトなのですが、これを使って勉強するのは非効率でしょうか。 一応「OpenCVによる画像処理入門 改訂第2版」という教材も買ったのでそれを進めるべきでしょうか。
pepperleaf

2020/05/02 09:21

> 「OpenCVによる画像処理入門 改訂第2版」 こちらでしょうか? <https://www.kspub.co.jp/book/detail/1538290.html> 2017年発行みたいなので、良いでしょうか? ここから、サンプルプログラムもダウンロードできるようですね。 C言語がサポート対象になっているところが、もう古いですね。
Bull

2020/05/02 09:37

なぜ .c でコンパイルしているのでしょうか? 当方の環境の問題かも知れませんが、OpenCV 3.x で .c のプログラムのビルドに成功したことがないです。 .cpp でプログラムを作成してはダメなのでしょうか?
yamaji1108

2020/05/02 10:36

pepperleaf様 この教材も2年以上古いのですね。。サイトよりは新しいと思うので、こちらでまずは頑張ります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Visual C++

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

Visual Studio

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

OpenCV

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

C++

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