python-opencv-圖片的裁剪


圖像裁剪的基本概念 :

圖像裁剪是指將圖像中我們想要的研究區以外的區域去除,經常是按照行政區划或研究區域的邊界對圖像進行裁剪。例如,一張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

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM