我就废话不多说了,直接上代码吧!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#coding=utf-8
import cv2
import numpy as np
'''双线性插值'''
img = cv2.imread( 'timg.jpeg' , cv2.CV_LOAD_IMAGE_GRAYSCALE) # load the gray image
cv2.imwrite( 'img.jpg' , img)
h, w = img.shape[: 2 ]
# shrink to half of the original
a1 = np.array([[ 0.5 , 0 , 0 ], [ 0 , 0.5 , 0 ]], np.float32)
d1 = cv2.warpAffine(img, a1, (w, h), borderValue = 125 )
# shrink to half of the original and move
a2 = np.array([[ 0.5 , 0 , w / 4 ], [ 0 , 0.5 , h / 4 ]], np.float32)
d2 = cv2.warpAffine(img, a2, (w, h),flags = cv2.INTER_NEAREST,borderValue = 125 )
# rotate based on d2
a3 = cv2.getRotationMatrix2D((w / 2 , h / 2 ), 90 , 1 )
d3 = cv2.warpAffine(d2, a3, (w, h),flags = cv2.INTER_LINEAR, borderValue = 125 )
cv2.imshow( 'img' ,img)
cv2.imshow( 'd1' ,d1)
cv2.imshow( 'd2' ,d2)
cv2.imshow( 'd3' ,d3)
cv2.waitKey( 0 )
cv2.destroyAllWindows()
|
以上这篇Python-opencv 双线性插值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/clm1206/article/details/79759945