opencv2系で書いてたコードをopencv3系で動かそうとしたときのエラーについてのメモです。
今回は、背景黒の画像中における白い物体っぽいやつを見つけてくれるfindContours関数において、
1 | cnts,hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) |
と書いていたところ
とエラーがでました。
このように概形情報countourの前に、大きめの配列が入っているようです。
これが実は、image配列であり、その次にcountourがいってきているようです。
これは、opencv3系におけるsyntax変更によるもので、
このように変更してあげるとうまくいきます!
1 | image, cnts, hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) |
参考までに、