opencv 仿射变换 (平移旋转变换)
import cv2 as cvimport numpy as npdog = cv.imread('imgs/dog.png')h,w,ch = dog.shapeM = np.float32([[1,0,100],[0,1,100]])new = cv.warpAffine(dog,M,(w,h))cv.imshow("dog",dog)cv.imshow("new",new)cv.waitK
·
import cv2 as cv
import numpy as np
dog = cv.imread('imgs/dog.png')
h,w,ch = dog.shape
M = np.float32([[1,0,100],[0,1,100]])
new = cv.warpAffine(dog,M,(w,h))
cv.imshow("dog",dog)
cv.imshow("new",new)
cv.waitKey(0)

import cv2 as cv
import numpy as np
dog = cv.imread('imgs/dog.png')
h,w,ch = dog.shape
# M = np.float32([[1,0,100],[0,1,100]])
M = cv.getRotationMatrix2D((100,100),15,1.0)
new = cv.warpAffine(dog,M,(w,h))
cv.circle(new,(100,100), 5, (0,0,255),-1)
cv.imshow("dog",dog)
cv.imshow("new",new)
cv.waitKey(0)

import cv2 as cv
import numpy as np
dog = cv.imread('imgs/dog.jpeg')
h,w,ch = dog.shape
src = np.float32([[400,300],[800,300],[400,1000]])
dst = np.float32([[200,400],[600,500],[150,1100]])
M = cv.getAffineTransform(src,dst)
new = cv.warpAffine(dog,M,(w,h))
for i in src:
cv.circle(dog,(int(i[0]),int(i[1])), 5, (0,0,255),-1)
for i in dst:
cv.circle(new,(int(i[0]),int(i[1])), 5, (0,0,255),-1)
# cv.circle(new,center, 5, (0,0,255),-1)
cv.imshow("dog",dog)
cv.imshow("new",new)
cv.waitKey(0)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)