最近邻:
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): 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)-2 y=int(y)-2 A = np.array([ [S(1 + p), S(p), S(1 - p), S(2 - p)] ]) if x>=m-3: m-1 if y>=n-3: n-1 if x>=1 and x<=(m-3) and y>=1 and y<=(n-3): B = np.array([ [img[x-1, y-1], img[x-1, y], img[x-1, y+1], img[x-1, y+1]], [img[x, y-1], img[x, y], img[x, y+1], img[x, y+2]], [img[x+1, y-1], img[x+1, y], img[x+1, y+1], img[x+1, y+2]], [img[x+2, y-1], img[x+2, y], img[x+2, y+1], img[x+2, y+1]], ]) C = np.array([ [S(1 + q)], [S(q)], [S(1 - q)], [S(2 - q)] ]) blue = np.dot(np.dot(A, B[:, :, 0]), C)[0, 0] green = np.dot(np.dot(A, B[:, :, 1]), C)[0, 0] red = np.dot(np.dot(A, B[:, :, 2]), C)[0, 0] # ajust the value to be in [0,255] def adjust(value): if value > 255: value = 255 elif value < 0: value = 0 return value blue = adjust(blue) green = adjust(green) red = adjust(red) emptyImage[i, j] = np.array([blue, green, red], dtype=np.uint8) return emptyImage img=cv2.imread("e:\\lena.bmp") zoom=function(img,1024,1024) cv2.imshow("cubic",zoom) cv2.imshow("image",img) cv2.waitKey(0)
补充知识:最邻近插值法(The nearest interpolation)实现图像缩放
也称零阶插值。它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值。但当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。
具体计算方法:对于一个目的坐标,设为 M(x,y),通过向后映射法得到其在原始图像的对应的浮点坐标,设为 m(i+u,j+v),其中 i,j 为正整数,u,v 为大于零小于1的小数(下同),则待求象素灰度的值 f(m)。利用浮点 m 相邻的四个像素求f(m)的值。
function re_im = nearest(im, p, q) %最邻近插值法,输入目标图像和行缩放、纵缩放倍数 %ziheng 2016.3.27 [m,n] = size(im); im_R = im(:,:,1); im_G = im(:,:,2); im_B = im(:,:,3); l = round(m*p); h = round(n*q)/3; re_R = uint8(zeros(l,h)); re_G = uint8(zeros(l,h)); re_B = uint8(zeros(l,h)); for dstx = 1:l for dsty = 1:h srcx = max(1,min(m,round(dstx/p))); srcy = max(1,min(n/3,round(dsty/q))); re_R(dstx,dsty) = im_R(srcx,srcy); re_G(dstx,dsty) = im_G(srcx,srcy); re_B(dstx,dsty) = im_B(srcx,srcy); end end re_im = cat(3,re_R,re_G,re_B); figure,imshow(re_im);
以上这篇python 图像插值 最近邻、双线性、双三次实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]