オリジナル:https://blog.csdn.net/hfutdog/article/details/82351549
この記事では、我々は2つの方法でPython実装について話枕を利用して、写真をトリミング、OpenCVのを使用することがあります。どちらの方法は、Pythonは今それのためにとても人気の理由である可能性がある、コードのいくつかのシンプルなラインが必要です。
下記に示すように、まず、我々は、元の画像を持っています:
私たちは、その後、次のようにコードがあり、カットすることがOpenCVのを使用します。
輸入CV2 IMG = cv2.imread(" ./data/cut/thor.jpg " ) プリント(img.shape) トリミング = IMG [0:128は、0:512] #クリッピング座標[YO:Y1、X0:X1] cv2.imwriteは(" ./data/cut/cv_cut_thor.jpg "、トリミング)
ここでは、切断されるべきメソッド関数imreadを読み取る第一の画像、及びその形状を表示する、形状出力(1080、1920、3)、出力は高さ、幅、チャネル数のシーケンスです。その後、我々はあなたが範囲をトリミングしたい画像を取得するために、配列のスライス方法を使用します。【:Y1、X0、X1、Y0]、原画像が原点座標の左上隅である、ピクチャのスライスをカットする必要性のために与えられた座標は、原画像内の順序を調整することに留意すべきです。最後に、私たちは地元取得するためにトリミングされた画像を保存するためにcv2.imwrite()メソッドを使用して示すように、(最初のパラメータは、画像の名前で、2番目のパラメータは、画像を保存する必要があります):
得られた画像は、OpenCVのをトリミング
次に、我々は枕絵作物を使用する方法を見て、コードは次のようになります。
PIL インポート画像 IMG = Image.open(" ./data/cut/thor.jpg " ) プリント(img.size) トリミング = img.crop((0、0、512、128)) #(左、上、右、下) cropped.save(" ./data/cut/pil_cut_thor.jpg ")
まず、画像を読み取るためにオープンメソッドを使用して、そのサイズを表示(OpenCVのの大きさや形状、ここで類似している)、出力サイズは、幅と高さである、(1920、1080)です。その後、我々は、ボックスはクワッドで、シーケンシャルタプル要素は、元のグラフの左側の写真を取得するためにカットする必要が、上、右、下の座標である作物のニーズがボックスパラメータを与え、画像をトリミングするには、作物のアプローチを呼び出しますすなわち(下、右、上、左)。私たちは、その後、得られた画像のトリミングを保存するためにSaveメソッドを使用します。以下に示すように、枕はまた、OpenCVの完了は、画像をトリミングすることができます。
写真を結果枕作物