import cv
...
#Let boundaryPixel be the 24-bit representation of the color of the rectangle
#(e.g., RED in this case)`
boundaryPixel = cv.RGB(255, 0, 0)`
print("valueIs: " + str(boundaryPixel))`
#(0.0, 0.0, 255.0, 0.0), 4 channels reversed?`
...
上記のスニペットを考えると、OpenCV がこのように値を返す理由を知りたいです (つまり、3 ではなく 4 チャンネルで反転)。
私が全体的にやろうとしているのは、画像をスキャンして、RGB 値が (255, 0, 0) のピクセルを検索しようとしていることです。私の最初の試みは、この場合の境界ピクセルが何であるかを定義し、ループでそれらのピクセルを検索してどこかに保存することでした。いくつかの調査を行うと、4 番目の値がアルファ チャネルになることがわかりましたね。したがって、私は現在 (RED、GREEN、BLUE、ALPHA) のようなものを持っていますが、私が望むものを達成するために 4 チャンネルを 3 チャンネルに変換する必要があるかどうかはわかりません: ある場所で currentPixel を比較します ( X0、Y0) であり、同じ値 (255、0、0) を持っている場合は、さらに画像を処理するためにそれらを保持したいと考えています。
現在、私は PIL のgetdata()
方法を使用してピクセルの値を取得しているため、最初に境界ピクセルとは何かを定義したかったのです。どこで問題が発生するのでしょうか?私のアプローチはよく考えられていますか? 画像全体を変換したくありません。そのピクセルを既に定義したピクセルと比較できるようにしたいだけです。
ありがとうございます。さらに情報が必要な場合、または不明な点がありましたら、お知らせください。