MatplotLibでこの輪郭を取得しました:
ここで、マスク(OpenCVで取得)を適用するため、通常のPythonイメージ(PILまたは配列)として使用します。
問題は、MatplotLibを使用すると、輪郭のある画像のサイズが変更され、マージンが追加されるため(軸を描画しなくても)、MatplotLibの図から取得した画像が作成されないことです。 OpenCVで取得したマスクに適合します。
OpenCVで同じ輪郭を取得しようとしましたが、cv2.FindContours関数とcv2.DrawContours関数で結果が得られません(この方法を知っている場合は、教えてください...この前のトピックで元の画像と私が望む輪郭を見ることができます)
別の可能な解決策は、MatplotLibで取得した輪郭を、元の画像と同じサイズで余白のない画像(PILまたは配列)に変換することです。
少なくともこれらの解決策の1つで私を助けてくれることを願っています!
- - - - - - - - - - - - - - 編集 - - - - - - - - - - - -----
RutgerKassiesの答えは正しいです。私がこの行を書いたので、それは私のために働いていませんでした...
ax = plt.axes([0, 0, 1, 1], frame_on=False, xticks=[], yticks=[])
...輪郭関数を使用した後、輪郭関数を使用する前でなければなりません。心に留めておきます!