首頁 >後端開發 >Python教學 >python中鏡像實作方法

python中鏡像實作方法

PHPz
PHPz原創
2017-04-02 13:50:075526瀏覽

影像的鏡像變化不會改變影像的形狀。影像的鏡像變換分為三種:水平鏡像、垂直鏡像、對角鏡像

設影像的大小為M×N,則

水平鏡像可依公式

I = i

J = N - j + 1

#垂直鏡像可依公式

I = M - i + 1

J = j

對角線鏡像可依公式

I = M - i + 1

#J = N - j + 1

值得注意的是OpenCV中座標是從[0,0]開始的

所以,式中的+1 在程式#時需要改為-1

這裡運行環境為:

Python為:Python2.7.6
OpenCV2.4.10版
numpy為:numpy-1.9.1-win32-superpack-python2.7

下面的程式碼仍以baby美圖為例具體程式如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',1)
size = (image.width,image.height)
iUD = cv.CreateImage(size,image.depth,image.nChannels)
iLR = cv.CreateImage(size,image.depth,image.nChannels)
iAcross = cv.CreateImage(size,image.depth,image.nChannels)
h = image.height
w = image.width
for i in range(h):
  for j in range(w):
    iUD[h-1-i,j] = image[i,j]
    iLR[i,w-1-j] = image[i,j]
    iAcross[h-1-i,w-1-j] = image[i,j]
cv.ShowImage('image',image)
cv.ShowImage('iUD',iUD)
cv.ShowImage('iLR',iLR)
cv.ShowImage('iAcross',iAcross)
cv.WaitKey(0)

python中鏡像實作方法

以上是python中鏡像實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn