2016-05-06 13 views
-1

拡張するために、私はファイルに画像を書き込むことに失敗しています。私は正しいフラグでcmakeに必要なドキュメントを読みましたが、どのフラグを使用する必要があるのか​​、何を作るべきかは言及されていませんそれは等しい。imcodecsでopencvをコンパイルするには?

OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite_, file /home/User/Desktop/opencv/modules/imgcodecs/src/loadsave.cpp, line 45 

は、今私が実行してきたものを正常にコンパイルしますが、私のコードを実行するときに、私は同じ問題を取得し、余分なWITH_PNGWITH_JPEGフラグで

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=/home/User/Desktop/opencv_contrib/modules WITH_PNG WITH_JPEG CMAKE_INSTALL_PREFIX=/usr/local .. 

あるので、私は仮定しますこれらは間違っています。これは私がこれを理解したものからそう

. 
. 
. 
Media I/O: 
--  ZLib:      /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8) 
--  JPEG:      /usr/lib/x86_64-linux-gnu/libjpeg.so (ver) 
--  WEBP:      build (ver 0.3.1) 
--  PNG:       /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.50) 
--  TIFF:      /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.3) 
--  JPEG 2000:     /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1) 
--  OpenEXR:      build (ver 1.7.1) 
--  GDAL:      NO 
. 
. 
. 

を受け取っ出力されたビルドをdurring

は、エラーが、それは間違った場所を探していることを示唆しているということでしょうか?しかし、私は手がかりのほんの少ししか持っていません。

私はイメージを読むことができます私はちょうどファイルにマットを保存することはできません、私はCV_16UC1とCV_8UC1に変換しようとしましたが、同じ問題を持っている、プログラムはopenCVエラーで終了します。

私はjpg jpeg bmpを試しましたが、うまくいきません。

gitからopencv 3.1を新しくダウンロードして、linux mint rosaを実行しています。

答えて

0

コンパイラが拾うことができなかったタイプミスでした。これは、imwriteへのパスを渡す前に文字列を連結していたためです。

パスを定義する場合、私が実際に意味するとき、私が誤っ

const string folderName="PATH" 

注差列ストリング

1

私はこの問題は、OpenCVのビルドではないと思う(私はサードパーティのコンポーネントなしで画像を保存することができ、100%確信している)が、おそらく/書き込みファイルまたは先のパスに何かを作成する権限。パスが存在することを確認します。

+0

const String folderName="PATH" 

を使用するので、経路が確実ために存在します私はその前にシステムコールを作ってフォルダを作成しています。フォルダは間違いなくgですこれを確認するには静的なパスを追加しましたが、まだ何もありません。許可については、これが真実であると仮定します。私のプログラムの許可を私の家のどこかに保存するにはどうすればいいですか?私はそれを実行して以来私はアクセスがあると仮定します。 – Vroosh

+0

デバッグして、OpenCV内で正確に間違っていることがわかります。それが打ち切られる前に。 –

+0

また、出力フォルダにchmod 777を置くだけで、誰でもそのフォルダ内の何かを実行できるようになります。 –

関連する問題