一日一文(9)

听说了很多的大牛的成长历程都从写自己的博客开始

虽然很久之前就开了博客但是没有坚持下去,让自己养成这样的习惯。学着写博客、学着分享。

每天尽量发一篇文章、其他学习文章随着学习进度慢慢写

由于湖湘杯里面出了好几道关于图片的题目,因此几天对于python处理进行简单学习

首先python中可以调用PIL对图像进行基本操作

*PIL是什么

PIL(Python Imaging Library ,即python图像处理类库)提供了通用的图像处理功能以及大量基本图象操作比如缩放、旋转裁剪等

首先操作打开图片、存储图片


from PIL import Image
img = Image.open('demo.jpg')
img.save('test.jpg')

调整图片尺寸和旋转图片
from PIL import Image

img = Image.open('demo.jpg')

img = img.resize((100,200))
img = img.rotate(90)

img.save('test.jpg')


使用Matplotlib对图片进行基本操作

Matplotlib 可以绘制出较好的条形图、饼状图、散点图等,但是对于大多数计算机视觉应用来说,仅仅需要用到几个绘图命令

from PIL import Image

from pylab import *

#打开图像得到一个PIL图像对象
img = Image.open(demo.jpg")

# 读取图像到数组中
im = array(img)

# 绘制图像
imshow(im)

# 一些点
x = [100,100,400,400]
y = [200,500,200,500]

# 使用红色星状标记绘制点
plot(x,y,'r*')

# 绘制连接前两个点的线
plot(x[:2],y[:2])

# 添加标题,显示绘制的图像
title('Plotting: "Test.jpg"')

show()

这里面show()会首先打开一个GUI,

然后新建一个图像窗口。该图形用户界面会循环阻断脚本,然后暂停,直到最后一个图像窗口关闭。在每个脚本里,你只能调用一次 show() 命令,而且通常是在脚本的结尾调用。

也可以使用axis(‘off’)命令使坐标轴不显示。

在绘图时,有很多选项可以控制图像的颜色和样式。

如:

plot(x,y)           #默认为蓝色实线
plot(x,y,'r*')      #红色星状标记
plot(x,y,'go-')     #带有圆圈标记的绿线
plot(x,y,'ks:')     #带有正方形标记的黑色虚线


标记颜色
‘b’蓝色
‘g’绿色
‘r’红色
‘c’青色
‘m’品红
‘y’黄色
‘k’黑色
‘w’白色


标记线型
‘-‘实线
‘–’虚线
‘:’点线


标记形状
‘.’
‘o’圆圈
’s’正方形
‘*’星形
‘+’加号
‘x’叉号
使用Matplotlib绘制图像轮廓

绘制图像的轮廓(或者其他二维函数的等轮廓线)在工作中非常有用。因为绘制轮廓需要对每个坐标 [x, y] 的像素值施加同一个阈值,所以首先需要将图像灰度化,之后使用contour获得轮廓图像

# -*- coding: utf-8 -*-

from PIL import Image

from pylab import *

# 读取图像到数组中,并灰度化
im = array(Image.open('demo.jpg').convert('L'))

#显示时抛弃颜色信息
gray()

# 显示轮廓图像
contour(im, origin='image')

# 在原点的左上角显示
axis('equal')

#关闭坐标轴
axis('off')

show()
其他的还会使用numpy直接操作图像数组来达到操作图像的目的,使用scipy完成更多更复杂的计算。后续再更新~




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值