没有合适的资源?快使用搜索试试~ 我知道了~
python 图像插值 最近邻、双线性、双三次实例
32 下载量 93 浏览量
2020-09-16
13:49:53
上传
评论 2
收藏 46KB PDF 举报
温馨提示
试读
3页
主要介绍了python 图像插值 最近邻、双线性、双三次实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
资源推荐
资源详情
资源评论
python 图像插值图像插值 最近邻、双线性、双三次实例最近邻、双线性、双三次实例
主要介绍了python 图像插值 最近邻、双线性、双三次实例,具有很好的参考价值,希望对大家有所帮助。一起
跟随小编过来看看吧
最近邻:最近邻:
import cv2
import numpy as np
def function(img):
height,width,channels =img.shape
emptyImage=np.zeros((2048,2048,channels),np.uint8)
sh=2048/height
sw=2048/width
for i in range(2048):
for j in range(2048):
x=int(i/sh)
y=int(j/sw)
emptyImage[i,j]=img[x,y]
return emptyImage
img=cv2.imread("e:\lena.bmp")
zoom=function(img)
cv2.imshow("nearest neighbor",zoom)
cv2.imshow("image",img)
cv2.waitKey(0)
双线性:双线性:
import cv2
import numpy as np
import math
def function(img,m,n):
height,width,channels =img.shape
emptyImage=np.zeros((m,n,channels),np.uint8)
value=[0,0,0]
sh=m/height
sw=n/width
for i in range(m):
for j in range(n):
x = i/sh
y = j/sw
p=(i+0.0)/sh-x
q=(j+0.0)/sw-y
x=int(x)-1
y=int(y)-1
for k in range(3):
if x+1<m and y+1<n:
value[k]=int(img[x,y][k]*(1-p)*(1-q)+img[x,y+1][k]*q*(1-p)+img[x+1,y][k]*(1-q)*p+img[x+1,y+1][k]*p*q)
emptyImage[i, j] = (value[0], value[1], value[2])
return emptyImage
img=cv2.imread("e:\lena.bmp")
zoom=function(img,2048,2048)
cv2.imshow("Bilinear Interpolation",zoom)
cv2.imshow("image",img)
cv2.waitKey(0)
双三次:双三次:
import cv2
import numpy as np
import math
def S(x):
x = np.abs(x)
if 0 <= x < 1:
return 1 - 2 * x * x + x * x * x
if 1 <= x < 2:
return 4 - 8 * x + 5 * x * x - x * x * x
else:
return 0
def function(img,m,n):
height,width,channels =img.shape
emptyImage=np.zeros((m,n,channels),np.uint8)
sh=m/height
sw=n/width
for i in range(m):
资源评论
weixin_38699352
- 粉丝: 7
- 资源: 920
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功