圖像裁剪的基本概念 :
圖像裁剪是指將圖像中我們想要的研究區以外的區域去除,經常是按照行政區划或研究區域的邊界對圖像進行裁剪。例如,一張500×400的圖像,我們只想要中間的250×200的區域,就可以使用圖像裁剪將四周的區域去除。
在實際開發工作中,我們經常需要對圖像進行分幅裁剪,按照ERDAS實際圖像分幅裁剪的過程,可以將圖像分幅裁剪分為規則分幅裁剪和不規則分幅裁剪兩種類型。
規則分幅裁剪:指裁剪圖像的邊界范圍是一個矩形。裁剪時只需要通過左上角和右下角兩點的坐標,就可以確定圖像的裁剪位置。
不規則分幅裁剪:指裁剪圖像的邊界范圍是任意多邊形,裁剪時必須首先生成一個完整的閉合多邊形區域。
圖像裁剪的OpenCV實現
規則分幅裁剪:
在OpenCV中,圖像被看成矩陣數據,我們將圖像視為多維list,因為規則分幅裁剪的邊界范圍是一個矩形,所以我們可以根據列表切片來實現圖像的規則分幅裁剪。現在,我們來實現將500×400的圖像中間的250×200的區域裁剪出來。
計算圖如下:
import cv2 img = cv2.imread("500x400.jpg") img1=img[100:300,125:375] #需要保留的區域--裁剪 #參數1 是高度的范圍,參數2是寬度的范圍 cv2.imwrite("linsi.jpg",img1) cv2.waitKey(0)
效果圖:
不規則分幅裁剪
對於不規則分幅裁剪,首先得生成一個完整的閉合多邊形區域。假設我們現在要將圖像裁剪成一個圓形圖像,那么我們就得首先生成一個圓形。OpenCV中為我們提供了專門用於畫圓形圖的方法circle