python图片大小
‘壹’ python图像处理
创建一个简单的图像与图像混合
1.1 在Image模块中,提供了创建图像的方法。主要是通过**Image.new(mode, size, color)**实现,该方法传入三个参数:
mode:图像的创建模式
size:图像的大小
color:图像的颜色
用该方法可以创建一个简单的图像,之后我们可以通过save方法将图像保存:
1.2生成图片如下
1.3 图像混合
透明度混合
透明度混合主要是使用**Image中的blend(im1, im2, alpha)**方法,对该方法的解释如下:
im1:Image对象,在混合的过程中,透明度设置为(1-apha)
im2:Image对象,在混合的过程中,透明度设置为(apha)
alpha:透明度,取值是0-1。当透明度为0是,显示im1对象;当透明度为1时,显示im2对象
代码实现如下
1.4原图和混合图的对比
1.5 遮罩混合
通过Image.composite(im1, im2, mask)方法实现遮罩混合。三个参数都是Image对象,该方法的作用就是使用mask来混合im1和im2。
1.6im1、im2和遮罩混合效果对比如下
‘贰’ python opencv中imshow输出图像太大,如何调整输出尺寸
通过resize重置图片尺寸
参数:图片,输出图片尺寸(一般我不用这个,我传None),宽的比例,高的比例
例子:将图片img,缩小一半显示,那么宽高为原尺寸的0.5倍
img = cv2.resize(img,None,fx=0.5,fy=0.5)
设置完尺寸后再显示
cv2.imshow('img',img)
cv2.waitKey(0)
.......
希望我的回答对你有帮助!
‘叁’ python PIL如何才能把图片修改成正方形或者任意尺寸而不产生挤压
改变图像尺寸有两类方法:
一是缩放(resize),即重采样。这时,如果图像纵横比发生变化就会导致“挤压”。
二是裁剪(crop)。当然图只能越裁越小;不过可以配合缩放,先放大再裁剪。
既然题主要求不能“挤压”,那就只能裁剪了。函数名我给出来了,具体用法题主自己研究。
‘肆’ python 创建固定大小的图片
不知道你对图片的格式有没有要求,如果是bmp的话是没有压缩的。也就是说大小和颜色深度决定了图片的大小。这样也比较容易控制。当然也就不能不改size随便调节文件的大小。
如果是jpg的话,可以通过改变图片的质量来调节文件的大小。
比如
im = Image.open("aa.JPG")
print im.format, im.size, im.mode
print im.size[0]
im.resize((720,540), Image.ANTIALIAS).save('a.jpg', quality = 95)
你也可以做一个循环,对生成的文件大小与目标大小做比较,直到满足条件为止。
只是给个思路,也许帮不上忙。