何が起こったか
フォルダの中の画像全てを対象に、画像処理のプログラムをいつも通り実行したら何枚か実行中に途中で 「OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor,」とエラーがでた。 途中でエラーがでるってどういうことなんですかねぇ、、、って思いました。ググったら色々記事が出たが、私の場合の解決方法とはならなかった。
プログラムの部分には問題はないはず、、、って思ってフォルダの中とか色々見てたら、気づいてしまった。
それは、、、

処理対象の画像の中に、一枚だけ壊れている画像があった。
プログラムの実行中に途中でエラーがでた原因がこれではっきり納得できた。
なので、自動収集した場合、問題のある画像があるかどうかを意識する
この画像を取り除いたら、うまく最後まで処理できました。
なので、プログラムの実行途中にこのエラーがでた場合は、これも原因の一つかもしれません。