本文,介绍一下,用python结合opencv模块,修改图片大小的方法。
工具/原料
1
电脑
2
python
方法/步骤
1
先看看图片的大小:import cv2 image=cv2.imread('C:/……/a.jpg')a = image.shapeprint(a)其中,a[0]=371表示图片高度,a[1]=500表示图片宽度,a[2]=3表示图片是3通道图片。
2
改变图片大小为500像素高度和371像素的宽度:p0=cv2.resize(image,(371,500),interpolation=cv2.INTER_CUBIC)这样,图片比例被破坏了,感觉恐龙被上下拉长了。
3
如果需要按比例缩放图片,可以这样:p1=cv2.resize(image,(int(a[1]/1.5),int(a[0]/1.5)), interpolation=cv2.INTER_CUBIC)
4
换一种缩放方法:p2=cv2.resize(image,(int(a[1]/1.5),int(a[0]/1.5)), interpolation=cv2.INTER_AREA)
5
你可能觉得p1和p2是一样的,但不是:cv2.imshow('a',p1-p2)cv2.waitKey(0)
注意事项
1
缩放图片的大小,需要增加或删除某些像素。但是,增加的像素的像素值,不能凭空产生,需要根据临近像素值,近似地给出增加的像素的值。
2
给增加的像素赋值,需要用插值的方法。而这种方法并不唯一。比如,上面介绍了三次插值法(cv2.INTER_CUBIC)和重采样插值法(cv2.INTER_AREA)。