您的位置:首页 > 编程语言 > Python开发

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

2017-11-30 23:22 531 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 函数 图片 opencv