opencv for python (9) 图片的扩展和缩放 批量处理图片

本文介绍了如何使用OpenCV的cv2.resize()函数在Python中进行图片的缩放和扩展,详细讲解了比例因子fx、fy和不同插值方法如INTER_NEAREST、INTER_LINEAR等。此外,还提供了一个简单的Python程序实例,演示了如何批量处理图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cv2.resize(img,None,fx = 2,fy = 2,interpolation =cv2.INTER_CUBIC)
函数fx和fy是X轴和Y轴的比例因子,interpolation是插值方法如下所示:
插值方法:
INTER_NEAREST - 最近邻居插值
INTER_LINEAR - 双线性插值(默认使用)
INTER_AREA - 使用像素区域关系重采样。这可能是图像抽取的首选方法,因为它可以产生无莫尔效应的结果。但是当图像放大时,它与INTER_NEAREST 方法类似 。
INTER_CUBIC - 在4x4像素邻域上的双三次插值
INTER_LANCZOS4 - 在8x8像素邻域上的Lanczos插值

import cv2  
import numpy  as np    
img = cv2.imread('test.jpg')
res = cv2.resize(img,None,fx = 2,fy = 2,interpolation = cv2.INTER_CUBIC)

while(1):
    cv2.imshow('res',res)
    cv2.imshow('img',img)

    if cv2.waitKey(1)&0xFF == 27:
        break
cv2.destroyAllWindows()

用简单的python程序批量处理照片

import cv2  
import numpy  as np    


Direct='C:\\Users\\Administrator\\Desktop\\kk\\'
txt_string = open(Direct+"cam.txt",'r').read()
img_names = txt_string.splitlines()
for ii in range(len(img_names)):
    print ii+1
    filename1 = Direct+ img_names[ii]
    print filename1
    img = cv2.imread(filename1)
    res = cv2.resize(img,None,fx = 0.5,fy = 0.5,interpolation = cv2.INTER_CUBIC)
    cv2.imwrite(Direct+'a'+img_names[ii]+'.JPG',res)
    print Direct+'a'+img_names[ii]+'.JPG'
    if cv2.waitKey(1)&0xFF == 27:
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值