2017-08-01 13 views
0

私は画像保存機能を作成しようとしています。以下のコードでは、元の画像のコピーをsaved-test-image.jpgとして作成する予定です。OpenCV-Python:imgは整数配列ではなく、スカラーではありません

originalImage = "test-image.jpg" 
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage) 

ラインの実行は、バックfollwing与える:

Traceback (most recent call last): 
    File "UnitTest.py", line 159, in test_save_and_delete_image 
    savedImage = cv2.imwrite('unittest-images/saved-test-image.jpg', originalImage) 
TypeError: img is not a numpy array, neither a scalar 

ここで変更する必要がありますか?

+1

イメージを最初に '読み込み(..) 'する必要があります。 –

答えて

1

ウェルopencvが正しく、originalImageを保存しますが、originalImageは文字列(ファイル名、最初の行)です。あなたことができます単に、あなたは、単にしかし、画像ファイルをコピーしたい場合は、メモリにロードする必要はありません

originalImage = cv2.imread("test-image.jpg") 
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage)

:あなたが最初のnumpyの配列にcv2.imread(..)あなたのイメージに必要

この場合

from shutil import copyfile 

originalImage = "test-image.jpg" 
copyfile(originalImage,"saved-test-image.jpg") 

を、それは単にファイルをコピーします - に関係なく、その内容が何であるか - それが壊れた画像であっても、あるいは:OpenCVのを使用せずに、ファイルをコピーしイメージではなく、コピーされます。

+0

問題を修正しました。ありがとう – Andrea

関連する問題