没有合适的资源?快使用搜索试试~ 我知道了~
今天小编就为大家分享一篇python 图像平移和旋转的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
资源推荐
资源详情
资源评论














python 图像平移和旋转的实例图像平移和旋转的实例
今天小编就为大家分享一篇python 图像平移和旋转的实例,具有很好的参考价值,希望对大家有所帮助。一起
跟随小编过来看看吧
如下所示:如下所示:
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)
以上这篇python 图像平移和旋转的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我
们。
资源评论


weixin_38569651
- 粉丝: 4
- 资源: 908
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
