Pythonでのミラー実装方法

PHPz
PHPzオリジナル
2017-04-02 13:50:075564ブラウズ

画像をミラーリングしても画像の形状は変わりません。画像のミラー変換には、水平ミラーリング、垂直ミラーリング、斜めミラーリングの 3 種類があります。画像のサイズを 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 次のコードでは、例として赤ちゃんの写真を取り上げています。具体的な手順は以下の通りです

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でのミラー実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。