今回の状況

python3で次のようなプログラムを書いた。

import cv2
img = cv2.imread("placard-0-dangerous.png")

見ての通り2行だけのシンプルなプログラムで、OpenCVで画像を読み込んで、imgという変数に代入するだけの内容である。 ちなみに読み込もうとした画像はこれである。

<strong>alt</strong>

このプログラムを実行すると

libpng warning: iCCP: known incorrect sRGB profile

というエラーが出てきてしまった。

解決方法

調べてみるとこのエラーはlibpngの問題らしい

libpngとは、画像[データ形式](http://d.hatena.ne.jp/keyword/%A5%C7%A1%BC%A5%BF%B7%C1%BC%B0)の[PNG](http://d.hatena.ne.jp/keyword/PNG)[エンコード](http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%B3%A1%BC%A5%C9)・デコードを行うライブラリである。

Libpng | 情報科学 | IT用語辞典 | 日立ソリューションズ

ImageMagickのconvertコマンドを使って

convert "placard-0-dangerous.png" -strip "placard-0-dangerous.png"

と実行して、pngファイルのプロファイルやその他メタデータを消去してやるとエラーは出なくなりました。

参考にしたサイト