画像をミラーリングしても画像の形状は変わりません。画像のミラー変換には、水平ミラーリング、垂直ミラーリング、斜めミラーリングの 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 サイトの他の関連記事を参照してください。