matplotlib
频数分布直方图
#pylab是matplotlib的一部分
# from pylab import show,hist,figure
# import numpy as np
# a=np.array([[1,2,3],[4,2,3]])
# figure()
# #频数分布直方图
# hist(a.flatten(),7)#(数组一维化,小区间所占列数)
# show()
调整图像的分辩率(宽度,高度)
# PIL是matplotlib的一部分
# from PIL import Image
# image2=Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg')
# print("原始分辩率:",image2.size) #图像的分辩率(宽度,高度) 单位:像素
# image2=image2.resize((200,400)) #调整图像的分辩率(宽度,高度)
# print("调整的分辩率:",image2.size)
有色图转为灰度图
#有色图转为灰度图
# from pylab import imshow,subplot,gray
# from PIL import Image
# import numpy as np
# image1 = Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg').convert('L')
# image1.show()
图片旋转90°
# from PIL import Image
# image=Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg')
# image=picture.transpose(Image.ROTATE_90) #图片旋转90°
# image.show()
图片旋转45°(有一些瑕疵)
# from PIL import Image
# image=Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg')
# image=image.rotate(45) #旋转45°
# image.show()
剪切和粘贴图像
from PIL import Image
box=(260,132,303,175) #(左,上,右,下)
picture=Image.open("C:/Users/asus/Desktop/pcv_data/data/empire.jpg")
region=picture.crop(box) #(左,上)到(右,下)连线的一个矩形
region=region.transpose(Image.ROTATE_90) #裁剪图片旋转90°
picture.paste(region,box) # 粘贴图片(旋转90°后图片的外框必须和原图外框同样大小)
picture.show()
图像转为numpy数组
将图像转为numpy数组后显示
#将图像转为numpy数组后显示
# from pylab import imshow,subplot
# from PIL import Image
# import numpy as np
# subplot()
# image1 = np.array(Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg'))
# imshow(image1)
将有色图像转为numpy数组后,显示灰度图
#将有色图像转为numpy数组后,显示灰度图
# from pylab import imshow,subplot
# from PIL import Image
# import numpy as np
# subplot()
# image1 = np.array(Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg').convert('L'))
# # 不使用颜色信息
# gray()
# imshow(image1)
将有色图像转为numpy数组后,再转为Image
#将有色图像转为numpy数组后,再转为Image
# from pylab import imshow,subplot
# from PIL import Image
# import numpy as np
# image1 = np.array(Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg').convert('L'))
# # 不使用颜色信息
# gray()
# image=Image.fromarray(np.uint8(image1)) #转为Image
# image.show()
任意点击图片中的某个位置显示该位置坐标
from PIL import Image
from pylab import *
im = array(Image.open('C:/Users/asus/Desktop/pcv_data/data/empire.jpg'))
imshow(im)
print('Please click 1 points')
x = ginput(1)
print('you clicked:',x)