首页 > 编程知识 正文

python改变图片像素值大小(python导入csv文件画折线图)

时间:2023-05-06 16:17:49 阅读:85185 作者:3272

学习资源: 《机器学习实践指南 案例应用解析 第2版》

一、概念

图像插补是指,使用已知的相邻像素点的灰度值(或rgb图像的3色值)生成未知像素点的灰度值,从原图像再现更高分辨率的图像。 传统的插值算法

最接近插补

也就是说,将每个原始像素直接复制并映射到扩展后的对应多个像素。 该方法在放大图像的同时保留所有原始图像的所有信息。 传统的图像插值算法中,最近邻像素插值简单、容易实现,普遍应用于早期。 但是,在这种方法中,新图像会出现明显的锯齿边缘和镶嵌现象。 缩放后的图像的像素值被计算为dst(x,y )=)=(x * src.width/dst.width,y * src.height/dst.height )

双线性插值

虽然双线性插值法具有有效克服最近像素插值不足的平滑功能,但是图像的高频部分会恶化,图像的细节会变得模糊。

高阶插值

在高倍率情况下,高阶插值(如双三次插值和立方插值)比低阶插值更有效。

二、OpenCV resize函数

可以通过OpenCV的resize函数进行插值和缩放。

void resize (输入阵列磁盘,输出阵列磁盘,大小尺寸,双工FX=0,双工fy=0,Int Interpolation=互联网_线性);

参数说明:

src输入、原图像dst输出、目标图像dsize输出图像的尺寸,如果该参数不为0,就意味着将原图像缩放为由size(width,height )指定的尺寸; 值为0时,原始图像缩放后的大小由dsize=size(round ) FX*src.cols,round ) fy*src.rows ) )的公式计算

如果fx width方向的缩放为0,则使用(double ) dsize.width/src.cols计算fy height方向的缩放,如果为0,则使用) dsize.height/src.RC

INTERNEAREST最近插值INTER_LINEAR双线性插值INTER_AREA像素关系重新采样INTER_CUBIC 4*4像素区域内的双三次插值INTER_LANCZOS4 8*8像素附近的lanc

dsize和fx/fy不能同时为0。 通常,使用默认的双线性插值是足够的插值效率。 与双线性插值、双三次插值、Lanczos插值最接近的效率是与效果成反比的样本代码

# #-* -编码: utf-8-* -

# #! /usr/雪白的长颈鹿/python

导入CV 2

src=cv2. im读取(' test.jpg ' ) )。

cv2. im show (原点)、src ) ) )。

h,w=src.shape[:2]

打印(h,w ) )。

DST=cv2.resize(src,(w * 2,h * 2),fx=0.75,fy=0.75,中介=cv2.中介_网络) )。

cv2. im show (国际顺序,直方根) ) ) ) ) )。

dst=cv2.resize(src,(w * 2,h * 2),中间环境=cv2.中间环境) ) ) ) ) ) ) ) ) ) ) ) ) ) )

cv2. im show (线间,直线) ) ) ) ) )。

dst=cv2.resize(src,(w * 2,h * 2),互换=cv2.互换_立方体) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。)

cv2. im show (互连,直方体) ) ) ) ) )。

DST=cv2.resize(src,(w * 2,h * 2),interpolation=cv2. inter _ lanc zos4) ) ) ) ) ) ) ) ) ) ) ) ) ) )

cv2. im show (四连锁存储器(inter _ lanc zos4) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

缩小# # # #像素关系进行重新采样

newimg2=cv2.resize(src,(w //2,h //2),介入区域) ) ) ) ) ) ) )。

cv2. im show (区间,区域) ) ) ) ) ) )。

cv2.waitkey(0) (等于) (等于) ) (等于) ) (等于) ) (等于) ) ) ) ) ) ) )。

cv2.destroyAllWindows (() ) 9500.163.com) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。