msys2でopenCVが使えない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: msys2でopenCVが使えない

Re: msys2でopenCVが使えない

#35

by Math » 6ヶ月前

[ msys2  と VisualSudio Code で クラン( clang )を使う ]

今トレンドのクランを使う。
http://www2.koyoen.birdview.co.jp/~abcx ... 1-aaa-.PNG



WindowsでClangを使うならmsys2が便利

https://qiita.com/tomota-tar-gz/items/7 ... 29eddbee8a

クラン( clang )
https://ja.wikipedia.org/wiki/Clang

Re: msys2でopenCVが使えない

#34

by Math » 6ヶ月前

[ Visual Studio Code を使ってみる ]

結果の確認をしてみる。

http://www2.koyoen.birdview.co.jp/~abcx ... -10-a-.PNG

OK。

Re: msys2でopenCVが使えない

#33

by Math » 7ヶ月前

http://www2.koyoen.birdview.co.jp/~abcx ... -zz-b-.PNG

gcc 7.4.0 がインストールされています。あと ruby などです。

Re: msys2でopenCVが使えない

#32

by Math » 7ヶ月前

ついでなので Cygwin  もインストールしてみました。

これで msys2、 Ubuntu(WSL)、 MinGW, Cygwin と 4つ Linux (gcc)
テスト環境がインストール出来ました。

http://www2.koyoen.birdview.co.jp/~abcx ... -zz-a-.PNG

Re: msys2でopenCVが使えない

#31

by Math » 7ヶ月前

http://www2.koyoen.birdview.co.jp/~abcx ... -z222-.PNG

一度アンインストールしてみたが ここを右クリックすると アンインストール
メニューがでてくるのでクリックするだけで簡単である。

Re: msys2でopenCVが使えない

#30

by Math » 7ヶ月前

http://www2.koyoen.birdview.co.jp/~abcx ... -23-f-.PNG

大型Computer の入力に使用したVim をインストール

数万行になると vi でなくては!

Re: msys2でopenCVが使えない

#29

by Math » 7ヶ月前

http://www2.koyoen.birdview.co.jp/~abcx ... -23-d-.PNG

Windows10 同様 update( と upgrade)は日日行わなければならないならないようです。

Re: msys2でopenCVが使えない

#28

by Math » 7ヶ月前

http://www2.koyoen.birdview.co.jp/~abcx ... 23-z1-.PNG

zsh
gcc 7.3.0
java
をインストールしてみました。

Re: msys2でopenCVが使えない

#27

by Math » 7ヶ月前

Window10に Windows Subsystem for Linux 、Ubuntu をインストールしてみました。

http://www2.koyoen.birdview.co.jp/~abcx ... -23-c-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... 23-z2-.PNG

Re: msys2でopenCVが使えない

#26

by Math » 7ヶ月前

昨年クリスマスに買ったWindows10に msys2

http://www.msys2.org/ を入れてしまったが


https://laboradian.com/win10-msys2/

に ”現在では、Windows 10 に WSL が実装されていますので、特に理由がなければ MSYS2 の代わりに WSL を使う方がよいでしょう”

のような記述があったので以前のPCのように WSL をまた導入してみます。

Re: msys2でopenCVが使えない

#25

by Math » 7ヶ月前

了解。良かったですね!コングラチュレーション!

Re: msys2でopenCVが使えない

#24

by keito » 7ヶ月前

すみません、自己解決しました!

Makefileのオプションに「-lopencv_imgcodecs401」を付けたらコンパイルできました。

コード:

#Makefile
INC = -I "C:\msys64\mingw64\include\opencv4"
DIR =  -L "C:\msys64\mingw64\bin"
FLAGS = -lopencv_core401 -lopencv_highgui401 -lopencv_imgcodecs401

main:
	clang++ $(INC) $(DIR) test.cpp $(FLAGS)
imreadであらかじめ用意している画像ファイルを読み込むにはopencv_imagecodecs401.dllが必要だったみたいです。
公式リファレンスに必要なdllとかが載ってないの不親切ですね......
pkg-config(さっき存在知った)使えって事でしょうかね......
添付ファイル
Capture1.png

Re: msys2でopenCVが使えない

#23

by Math » 7ヶ月前

> #includeファイルを見て予測して書きました。

了解しました。引き続き 分かったら連絡します。

Re: msys2でopenCVが使えない

#22

by keito » 7ヶ月前

ああ、すみません、Makefileの引数の話でしたね、test.cppにある関数の引数と間違えました。
コンパイラのオプションまで書いてくれてるサイトが無かったので、#includeファイルを見て予測して書きました。

Re: msys2でopenCVが使えない

#21

by keito » 7ヶ月前

cv::imreadの引数は
http://opencv.jp/opencv-2.1/cpp/reading ... video.html
を参考にしています。
Mathさんの環境ではimage.pngを読み込んでウィンドウに表示させるプログラムが動くんでしょうか?

最新のリファレンスも確認しましたが、特に仕様の変更も見られず…

一応パッケージのバージョンを下げて(3.x.x)動くかどうかも確認してみます。
また、pkg-configというのがあるらしいのを知ったのでそれも試してみます。

(VS Code、最初は環境設定とかで戸惑いましたが、低スペックなPCでも快適なのでとても重宝してます。好き)

Re: msys2でopenCVが使えない

#20

by Math » 7ヶ月前

Visual Stdio Code を使っているのですね(^^)/

私も使ってみます。

Re: msys2でopenCVが使えない

#19

by Math » 7ヶ月前

そうですよね。

keito さんのプログラムが どこで引っかかっているのかがわからないのですよ。

エラーメッセージが不思議なんですね。

OpenCV4のサンプルプログラムを探しているのですが…

( Version 4で大きくかわったみたいですよね! )

***
keitoさんのMakefile はいいようですが 引数などの情報をどうして得たのか教えて頂くとありがたいです。

Re: msys2でopenCVが使えない

#18

by keito » 7ヶ月前

引き続き返信してくださりありがとうございます。

提示された2つのソースコードをコピペし実行しました。
コンパイル・リンカエラーは起きませんでした。
添付ファイル
Capture1.png
Capture2.PNG

Re: msys2でopenCVが使えない

#17

by Math » 7ヶ月前

test.cpp

コード:

#include <opencv2/core.hpp>

#include <opencv2/highgui.hpp>

#include <iostream>

 

int main(int argc, const char* argv[])

{

  // 幅320px、高さ240pxで赤色の画像データを生成

  cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255));




  // 画像表示用のウィンドウを生成

  cv::namedWindow("red", cv::WINDOW_AUTOSIZE);




  // ウィンドウに画像を表示

  cv::imshow("red", redImg);




  // キー入力を待機

  cv::waitKey(0);




  // 作成したウィンドウを全て破棄

  cv::destroyAllWindows();




  return 0;

}
http://www2.koyoen.birdview.co.jp/~abcx ... 03-11-.PNG

Re: msys2でopenCVが使えない

#16

by Math » 7ヶ月前

*****************
2018年11月20日


画期的な3.0のリリースから約3年半後、私たちは4.xの最初の安定版リリースを発表できて嬉しいです。

ハイライトをリリース:

• OpenCVは現在C ++ 11ライブラリであり、C ++ 11準拠のコンパイラが必要です。 最低限必要なCMakeのバージョンが3.5.1に引き上げられました。
OpenCV 1.xから多くのC APIが削除されました。
• コアモジュール内の永続性(XML、YAML、またはJSONとの間の構造化データの格納およびロード)は、C ++で完全に再実装され、C APIも失いました
新しいモジュールG-APIが追加されました。これは非常に効率的なグラフベースの画像処理パイプラインのエンジンとして機能します。
• dnnモジュールは、OpenVINO™ツールキットR4のDeep Learning Deployment Toolkitで更新されました。 DLDTをサポートするOpenCVの構築方法と使用方法のガイドを参照してください 。
• dnnモジュールは実験的なVulkanバックエンドを含み、ONNXフォーマットのネットワークをサポートします。
• 一般的なKinect Fusionアルゴリズムは、CPUとGPU(OpenCL)用に実装され最適化されています。
• QRコードディテクタとデコーダがobjdetectモジュールに追加されました
• 非常に効率的でありながら高品質のDIS高密度オプティカルフローアルゴリズムがopencv_contribからビデオモジュールに移動しました。
• 詳細は前回の発表: 4.0-alpha 、 4.0-beta 、 4.0-rcおよび変更履歴にあります。

*****************
に注意してください




まず 初歩的なプログラムから

test.cpp

コード:

#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat image = Mat::zeros(100, 100, CV_8UC3);
    imshow("", image);
    waitKey(0);
}
Makefile はそのまま。

http://www2.koyoen.birdview.co.jp/~abcx ... 03-07-.PNG

Re: msys2でopenCVが使えない

#15

by keito » 7ヶ月前

うーん、やはりよく分かりませんでした…
試しにhttp://cvwww.ee.ous.ac.jp/semi/opencv/の1.1サンプルコードや
https://www.buildinsider.net/small/opencv/007の2.1.1サンプルコード
をtest.cppにコピペして試しましたがリンカエラーのままでした。
コンパイラのオプションかPATHの設定が間違っているのでしょうか?

Re: msys2でopenCVが使えない

#14

by keito » 7ヶ月前

test.cppの間違いってことですかね?確認してみます。
image.pngは正直なんでも良かったのでゲームのスクショ画像にしてます。
添付ファイル
image.png

Re: msys2でopenCVが使えない

#13

by keito » 7ヶ月前

test.cppは↓のサイトを参考にしています。(コンパイルできるかの確認の為不要な部分はごっそり消してますが)
http://www.wakayama-u.ac.jp/~chen/cmake/cmakecv.html

Makefileはサイト探しても見つからなかったので自作です

Re: msys2でopenCVが使えない

#12

by Math » 7ヶ月前

keitoさん

サンプルプログラムが おかしく ないですか?

Re: msys2でopenCVが使えない

#11

by Math » 7ヶ月前

Re: msys2でopenCVが使えない

#10

by Math » 7ヶ月前

あ image.png が ない!

keito さん mage.png ください

Re: msys2でopenCVが使えない

#9

by Math » 7ヶ月前

keito さんの通りやると

test.cpp

コード:

// test.cpp
#include <opencv2/highgui.hpp>
using namespace cv;

int main()
{
    Mat img = imread("image.png", 1);
    imshow("image", img);
    waitKey();
    return 0;
}
Makefile

コード:

#Makefile
INC = -I "C:\msys64\mingw64\include\opencv4"
DIR =  -L "C:\msys64\mingw64\bin"
FLAGS = -lopencv_core401 -lopencv_highgui401

main:
	clang++ $(INC) $(DIR) test.cpp $(FLAGS)
http://www2.koyoen.birdview.co.jp/~abcx ... 03-05-.PNG

となります。

keito さんの参考にしたサイトとか教えて下さい・・

Re: msys2でopenCVが使えない

#8

by keito » 7ヶ月前

ディレクトリを回答者のものと一緒にしました。
make --helpできました。
添付ファイル
Untitled12.png

Re: msys2でopenCVが使えない

#7

by Math » 7ヶ月前

今日は予期せぬ相談が2件あったので解決してのですが頭の動きが鈍くなったようなのでゆっくり検証してみます。
まずワーク・ディレクトリは
http://www2.koyoen.birdview.co.jp/~abcx ... 03-01-.PNG

min64.bat

コード:

set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH%
set MSYSTEM=MINGW64
bash
コマンドプロンプトを立ち上げて make の ヘルプをしらべます。

http://www2.koyoen.birdview.co.jp/~abcx ... 03-02-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... 03-03-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... 03-04-.PNG

Re: msys2でopenCVが使えない

#6

by Math » 7ヶ月前

ありがとうございます。インストール出来ました。

明日 1日用があるので 明日夕方見てみます。

http://www2.koyoen.birdview.co.jp/~abcx ... 8-001-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... 8-002-.PNG

ページトップ