Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果

鳄鱼君

发表文章数:531

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python教程 » Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果

外部图片加载到数组中

首先导入matplotlib模块:

import matplotlib.pyplot as plt
img_arr=plt.imread('./1.jpg') #将外部图片读取 返回的是一个三维的数组
plt.imshow(img_arr)  #将数组中的数据进行图像展示

图片会被显示在坐标系中,参考:

Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果

图片的数组进行修改,然后展示图片:

plt.imshow(img_arr-100) # 将数组中的每一个数组元素都减去100

这是你会发现图片发生了变化,因为我们修改了图片的数值。

练习:对刚才的图片进行左右翻转(列倒置即可):

plt.imshow(img_arr[:,::-1])

练习:对刚才的图片进行上下翻转(行倒置即可):

plt.imshow(img_arr[::-1,:])

上下左右颜色翻转:

plt.imshow(img_arr[::-1,::-1,::-1])

图片剪裁,将美女的头部剪切下来(对数值进行切片操作):

plt.imshow(img_arr[50:350,250:480,:])

效果如图:

Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果

实现九宫格,这里使用一张图片拼接,你可以使用九张图片(先横向拼接,然后纵向拼接):

img_arr=plt.imread('./1.jpg') #将外部图片读取 返回的是一个三维的数组
arr_3=np.concatenate((img_arr,img_arr,img_arr),axis=1) #水平拼接
arr_9=np.concatenate((arr_3,arr_3,arr_3),axis=0)
plt.imshow(arr_9) 

效果图:

Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Numpy模块和matplotlib模块结合使用 实现图片裁剪、旋转、九宫格效果》 发布于2020-05-23

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

3 + 9 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册