<!--親の顔より見た光景-->

日々の発見を残していきます。

NetBeans・Eclipse併用時、OpenCVのパスが通らないエラー

家で使用しているノートPC、研究室のPC両方で生じたOpenCVのパスが通らなくなる問題である。言語はJavaOpenCVのバージョンは3.00。

以下に詳細を記す。

 

EclipseOpenCVを用いて画像処理をしていた。普通に実行できる。

Eclipseを見捨ててNetBeansをインストール。

NetBeansOpenCVのビルドパスを通すがうまく実行出来ない。「no opencv_300 in java.library.path」というエラー。

 Windows環境変数PATHを設定し直しているのにパスが通らない。

 System.getPropertyでjava.library.pathパスをStringで受け取ると一つしかパスが返ってこない。(普通はC:~~~aaa;C:~~bbb;など、セミコロン区切りでVisualStudioやTEXなど複数のパスが返ってくる。)

④OpenCV3.00を削除し、OpenCV2.4.13を入手、パスを通してみる。しかし実行結果は「no opencv_300 in java.library.path」。

⑤何気なくorg.opencv.imgcodecs.Imgcodecsをインポートしてみると「C:\Program Files(x86)\java\jdk1.8.0_60/jre/lib/extにImgcodecsは見つかりません。」という旨のエラー文が出た。そのフォルダーを見てみるとopencv-300.jarがあった。

opencv-300.jarを削除するとパスは正常に戻り、実行できるようになった。

 

Imgcodecsクラスはopencv3.0から導入されたクラスなのでOpenCV2.4環境では上のエラー文が出てくれた、というわけ。