赞
踩
Anaconda2(python2.7)+pycharm2019.2.4
pycharm是python开发的高效工具,python当前发行版本包括了python2以及python3,选择pycharm可为当前项目选择不同的python环境。而Anaconda2自身包含了许多第三方库,比起直接安装python2.7(需要手动导入大量需要用到的第三方库),选择Anaconda2中的pyhthon2.7更为方便。
另由于先前我已安装Anaconda3自带python3,再安装Anaconda2,经网上查阅研究,最好是在Anaconda3中建立Anaconda2的虚拟环境,这样比起Anaconda3与Anaconda2分别独立安装(由于两个环境中,python版本不同,但pyhthon.exe是同名的,易引起使用时版本混乱),可更好切换当前使用的python版本。
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
# 创建缩略图
pil_im = Image.open('data/561.jpg')
size = 128, 128
pil_im.thumbnail(size)
print pil_im.size
subplot(234)
title(u'缩略图', fontproperties=font)
axis('off')
imshow(pil_im)
pil_im.save('images/thumbnail.jpg') #保存缩略图
#拷贝并粘贴区域
pil_im = Image.open('data/561.jpg')
box = (100,100,300,300)
region = pil_im.crop(box)
region = region.transpose(Image.ROTATE_180)
pil_im.paste(region,box)
subplot(233)
title(u'拷贝粘贴区域', fontproperties=font)
axis('off')
imshow(pil_im)
# 调整图像尺寸
pil_im = Image.open('data/561.jpg')
pil_im = pil_im.resize(size)
print pil_im.size
subplot(235)
title(u'调整尺寸后的图像', fontproperties=font)
axis('off')
imshow(pil_im)
# 旋转图像45°
pil_im = Image.open('data/561.jpg')
pil_im = pil_im.rotate(45)
subplot(236)
title(u'旋转45°后的图像', fontproperties=font)
axis('off')
imshow(pil_im)
分析:
Image.FLIP_LEFT_RIGHT,表示将图像左右翻转
Image.FLIP_TOP_BOTTOM,表示将图像上下翻转
Image.ROTATE_90,表示将图像逆时针旋转90°
Image.ROTATE_180,表示将图像逆时针旋转180°
Image.ROTATE_270,表示将图像逆时针旋转270°
Image.TRANSPOSE,表示将图像进行转置(相当于顺时针旋转90°)
Image.TRANSVERSE,表示将图像进行转置,再水平翻转
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
from PIL import Image
from pylab import *
im = array(Image.open('data/561.jpg'))
print im.shape, im.dtype
#imshow(im)
im = array(Image.open('data/561.jpg').convert('L'),'f')
print im.shape, im.dtype
分析:
每行的第一个元组表示图像数组的大小(行、列、颜色通道),后面的字符串表示数组元素的数据类型,图像通常被编码成无符号八位整数(uint8),第二行将图像转为float型。
im[i,:] = im[j,:] # 将第 j 行的数值赋值给第 i 行
im[:,i] = 100 # 将第 i 列的所有数值设为100
im[:100,:50].sum() # 计算前100 行、前 50 列所有数值的和
im[50:100,50:100] # 50~100 行,50~100 列(不包括第 100 行和第 100 列)
im[i].mean() # 第 i 行所有数值的平均值
im[:,-1] # 最后一列
im[-2,:] (or im[-2]) # 倒数第二行
代码及结果:
每幅图像的小像素值和最大像素值:
分析:
代码及结果:
分析:
直方图均衡化的具体实现:
def histeq(im,nbr_bins=256):
# 计算图像的直方图
imhist,bins = histogram(im.flatten(),nbr_bins,normed=True)
cdf = imhist.cumsum()
cdf = 255 * cdf / cdf[-1] # 归一化
# 使用累积分布函数的线性插值,计算新的像素值
im2 = interp(im.flatten(),bins[:-1],cdf)
return im2.reshape(im.shape), cdf
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
分析:
代码及结果:
分析:
python做简单的图像处理,只需导入第三方库,引用相关函数,对图像进行直方图均衡化以调整图像的对比度,对图像进行高斯模糊,降噪等处理,能减少图像噪声以及降低细节层次。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。