0
画像Aと画像Bを仮定します。ここで、Bは全体的にHSV値が高く彩度の低いAの修正コピーです。 OpenCVを使用してこれらの違いを報告するにはどうすればよいですか?opencvレポート間の色の違い
Ex。出力:色相0、彩度-25、HSV値+25。
私は既にbgr-imagesをhsv-imagesに変換し、3つのチャンネルに分割することができました。 両方の画像の各チャンネルの平均をとって、これらの平均の差を出力するのは良い/正しい考えですか?それとも、opencvの方が既に優れているのでしょうか? ありがとう!
必要はありません..:出力の符号(正または負の変化)は関係ありませんが、画像の平等は、使用されるので、もし0は、非常に異なる画像のための違いを意味します例: 'Mat3b diff; absdiff(A、B、diff);スカラーmean_diff =平均(diff);' will giあなたは別々に3つのチャンネルの平均の違いをあなたに教えてください。 – Miki
私は 'absdiff'がまさにここで使われるべきものなのかどうかはわかりません。あなたはそれをすることによって違いの兆候を失います。たぶん 'Mat diff = A - B;と書くだけで十分です(C++と' CV_8U'行列を使用している場合は、負の値を格納する前にCV_32Fに変換する必要があります) – Sunreef
@Sunreed違いは、あなたは絶対値を使用する必要があります。さもなければ、非常に異なったイメージのために0平均差を得ることができます。 – Miki