您好,登錄后才能下訂單哦!
這篇文章主要介紹了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
,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。