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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Visual Studio

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

OpenCV

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

C++

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

Q&A

解決済

2回答

1041閲覧

VisualStudio2019からOpencv4.0.0を使用して画像の表示を行いたい。

kozirou_0

総合スコア11

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Visual Studio

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

OpenCV

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

C++

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

0グッド

0クリップ

投稿2019/05/04 21:03

前提・実現したいこと

VisualStudio2019(Windows10)からOpencv4.0.0を利用したいと考えています。
問題なく環境構築ができているかの動作確認として、画像出力プログラムを動作させることが目標です。

発生している問題・エラーメッセージ

Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file c:\build\master_winpack-build-win64-vc15\opencv\modules\highgui\src\window.cpp, line 350 OpenCV: terminate handler is called! The last OpenCV error is: OpenCV(4.0.0) Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file c:\build\master_winpack-build-win64-vc15\opencv\modules\highgui\src\window.cpp, line 350
abort() has been called

該当のソースコード

C++

1#include <opencv2/opencv.hpp> 2 3using namespace cv; 4 5int main() 6{ 7 Mat src = imread("C:\Lenna.bmp",1); 8 9 namedWindow("image"); 10 imshow("image",src); 11 12 destroyAllWindows(); 13 14 waitKey(0); 15 return 0; 16}

試したこと

######環境を以下の様に設定。

  • システム環境変数に「C:\opencv4.0.0\build\x64\vc15\bin」を追記

 

  • VisualStudioのプロパティ→構成にて「すべての構成」を選択。

・構成プロパティ→C/C++→追加のインクルードディレクトリに「C:\opencv4.0.0/build/include」を追記。
・構成プロパティ→リンカー→ 全般→追加のライブラリディレクトリに「C:\opencv4.0.0\build\x64\vc15\lib」を追記

  • VisualStudioのプロパティ→構成にて「Debug」を選択。

・構成プロパティ→デバッグ→環境に「PATH=C:\opencv4.0.0\build\x64\vc15\bin;%PATH%」を追記
・構成プロパティ→VC++ディレクトリ→インクルードディレクトリに「C:\opencv4.0.0\build\include」を追記
・構成プロパティ→VC++ディレクトリ→ライブラリディレクトリに「C:\opencv4.0.0\build\x64\vc15\lib」を追記
・構成プロパティ→リンカー→追加の依存ファイルに「opencv_world400d.lib」を追記
・構成プロパティ→C/C++→追加のインクルードディレクトリに「C:\opencv4.0.0/build/include」を追記。

######操作
ctrl+F5で実行。
ビルド時は問題ないものの、実行時に上記のエラーが発生します。
画像のパスについても何度も確認しました。

デバッグを行うと、"imshow"の行で以下のようなメッセージが出力されます。

ハンドルされていない例外 ハンドルされない例外が 0x00007FFF3FCA9129 で発生しました (Project2.exe 内): Microsoft C++ の例外: cv::Exception (メモリの場所 0x000000705DFFF3F0)。 が発生しました

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

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

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

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

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

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

guest

回答2

0

ベストアンサー

  • ファイル名: '' はふたつ重ねよ
  • waitkey は destroyAllWindows の前。

他にはおかしなところはないし、ちゃんと描いてくれます。再現しません。

投稿2019/05/04 22:47

編集2019/05/04 22:51
episteme

総合スコア16614

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

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

kozirou_0

2019/05/04 23:32

指摘いただいた通り修正したところ画像の出力がされました。 回答いただきありがとうございました。
episteme

2019/05/04 23:42

んじゃ"解決"しといて。
guest

0

OpenCV(4.0.0) Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow,

という記述からは、src にデータが入っていないように見えます。
imread のマニュアル を見ると、データが読み込めなかった場合は NULL を返すので、src == NULL になっていないかチェックを入れましょう。

Lenna.bmp を置いたのは C: ドライブ直下で正しいですか?
正しくない場合は、

C++

1Mat src = imread("C:\Lenna.bmp",1);

を修正しましょう。C:ドライブ直下においてある場合、

C++

1Mat src = imread("C:\Lenna.bmp",1);

と書かないと読み込まれない可能性が高いです。

投稿2019/05/04 22:49

cugel

総合スコア220

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

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

kozirou_0

2019/05/04 23:30

指摘いただいた通り修正したところ画像の出力ができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問