赞
踩
- import cv2
- import math
- import numpy as np
- def move(img):
- height, width, channels = img.shape
- emptyImage2 = img.copy()
- x=20
- y=20
- for i in range(height):
- for j in range(width):
- if i>=x and j>=y:
- emptyImage2[i,j]=img[i-x][j-y]
- else:
- emptyImage2[i,j]=(0,0,0)
-
-
- return emptyImage2
-
-
- img = cv2.imread("e:\\lena.bmp")
-
- cv2.namedWindow("Image")
- SaltImage=move(img)
- cv2.imshow("Image",img)
- cv2.imshow("ss",SaltImage)
- cv2.waitKey(0)
-

旋转:
- import cv2
- import math
- import numpy as np
- def XRotate(image, angle):
- h, w, channels = image.shape
- anglePi = angle * math.pi / 180.0
- cosA = math.cos(anglePi)
- sinA = math.sin(anglePi)
- X1 = math.ceil(abs(0.5 * h * cosA + 0.5 * w * sinA))
- X2 = math.ceil(abs(0.5 * h * cosA - 0.5 * w * sinA))
- Y1 = math.ceil(abs(-0.5 * h * sinA + 0.5 * w * cosA))
- Y2 = math.ceil(abs(-0.5 * h * sinA - 0.5 * w * cosA))
- hh = int(2 * max(Y1, Y2))
- ww = int(2 * max(X1, X2))
- emptyImage2 = np.zeros((hh, ww, channels), np.uint8)
- for i in range(hh):
- for j in range(ww):
- x = cosA * i + sinA * j - 0.5 * ww * cosA - 0.5 * hh * sinA + 0.5 * w
- y = cosA * j- sinA * i+ 0.5 * ww * sinA - 0.5 * hh * cosA + 0.5 * h
- x = int(x)
- y = int(y)
- if x > -1 and x < h and y > -1 and y < w :
-
- emptyImage2[i, j] = image[x, y]
-
- return emptyImage2
-
-
- image = cv2.imread("e:\\lena.bmp")
- iXRotate12 = XRotate(image, 30)
- cv2.imshow('image', image)
- cv2.imshow('iXRotate12', iXRotate12)
- cv2.waitKey(0)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。