Pillow转numpy数组

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt# PLT默认读取图片数据格式:(高,宽,通道(R,G,B))
im = Image.open('test.jpg')
print(im.size)# 转numpy.ndarray格式
im_pillow= np.asarray(im)
print(im_pillow.shape)# 赋值红色通道
im_pillow_c1_3ch = np.zeros(im_pillow.shape)
im_pillow_c1_3ch[:,:,0] = im_pillow[:,:,0]# 赋值绿色通道
im_pillow_c2_3ch = np.zeros(im_pillow.shape)
im_pillow_c2_3ch[:,:,1] = im_pillow[:,:,1]# 赋值蓝色通道
im_pillow_c3_3ch = np.zeros(im_pillow.shape)
im_pillow_c3_3ch[:,:,2] = im_pillow[:,:,2]# 展示
plt.subplot(2,2,1)
plt.title("Origin Image")
plt.imshow(im_pillow)
plt.axis('off')plt.subplot(2,2,2)
plt.title("Red Channel")
plt.imshow(im_pillow_c1_3ch.astype(np.uint8))
plt.axis('off')plt.subplot(2,2,3)
plt.title("Green Channel")
plt.imshow(im_pillow_c2_3ch.astype(np.uint8))
plt.axis('off')plt.subplot(2,2,4)
plt.title("Blue Channel")
plt.imshow(im_pillow_c3_3ch.astype(np.uint8))
plt.axis('off')

OpenCV图片

OpenCV读入后顺序是BGR。

import cv2
im_cv2 = cv2.imread('test.jpg')# opencv默认读取图片的数据为: (高,宽,通道(B,G,R))
im_cv2 = im_cv2[:,:,(2,1,0)]  # 改变图像通道顺序为:RGBprint(type(im_cv2))
print(im_cv2.shape)# 赋值红色通道
im_cv2_c1_3ch = np.zeros(im_cv2.shape)
im_cv2_c1_3ch[:,:,0] = im_cv2[:,:,0]# 赋值绿色通道
im_cv2_c2_3ch = np.zeros(im_cv2.shape)
im_cv2_c2_3ch[:,:,1] = im_cv2[:,:,1]# 赋值蓝色通道
im_cv2_c3_3ch = np.zeros(im_cv2.shape)
im_cv2_c3_3ch[:,:,2] = im_cv2[:,:,2]# 展示
plt.subplot(2,2,1)
plt.title("Origin Image")
plt.imshow(im_cv2)
plt.axis('off')plt.subplot(2,2,2)
plt.title("Red Channel")
plt.imshow(im_cv2_c1_3ch.astype(np.uint8))
plt.axis('off')plt.subplot(2,2,3)
plt.title("Green Channel")
plt.imshow(im_cv2_c2_3ch.astype(np.uint8))
plt.axis('off')plt.subplot(2,2,4)
plt.title("Blue Channel")
plt.imshow(im_cv2_c3_3ch.astype(np.uint8))
plt.axis('off')

Pillow和OpenCV转numpy数组相关推荐

  1. OpenCV—Python Numpy数组(像素点)操作

    一.遍历图片三个通道像素点,并修改相应的RGB def access_pixels(image):print(image.shape)height = image.shape[0]width = im ...

  2. python 读取图片成为一维数组_python+opencv 图像的数组和矩阵操作

    在调用opencv的imread函数读取图像时,我们得到的其实是一个类型为numpy.ndarray的n维数组.这个数组的维度是[height,width,3],它是由每个像素的RGB通道的灰度值组成 ...

  3. 34.35.热图(heatmap)、创建带注释的热图、使用辅助函数的代码样式、图像显示、图像插值、将图像数据导入Numpy数组、将numpy数组绘制为图像

    34.热图(heatmap) 34.1.创建带注释的热图 34.2.使用辅助函数的代码样式 35.图像显示 35.1.图像插值 35.2.将图像数据导入Numpy数组 35.3.将numpy数组绘制为 ...

  4. 将Numpy数组保存为图像

    有一个Numpy数组类型的矩阵,如何将它作为图像写入磁盘?任何格式的图像都行(PNG,JPEG,BMP ...). 最佳解决办法 可以使用scipy.misc,代码如下: import scipy.m ...

  5. numpy数组和图片互转

    一.numpy array的存储和加载: load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中. save ...

  6. Python图片裁剪的两种方式——Pillow和OpenCV

    本文参考Python图片裁剪的两种方式--Pillow和OpenCV并进行了一些更新 感谢作者:hfutdog 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一 ...

  7. python 读取 Raw文件 生成 Numpy 数组

    一般情况下,有python的三方库的软件,可以读RGB二进制的Raw数据,生成Numpy数据.比如说OpenCV之类的.但是,我们也可以使用python的裸代码,得到Numpy. 知识点: numpy ...

  8. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  9. python slice是共享内存吗_在共享内存中使用numpy数组进行多处理

    在共享内存中使用numpy数组进行多处理 我希望在共享内存中使用numpy数组,以便与多处理模块一起使用.困难之处在于它像一个numpy数组一样使用,而不仅仅是作为一个ctype数组使用.from m ...

  10. 使用OpenCV,Numpy计算直方图,Matplot绘制直方图及分析

    使用OpenCV,Numpy计算直方图,Matplot绘制直方图及分析 1. 效果图 2. 原理 3. 源码 3.1 直方图3种计算方法和2种绘制方法 3.2 Mask遮罩图像直方图 参考 这篇博客将 ...

最新文章

  1. GPT3后可考虑的方向-知识推理与决策任务及多模态的信息处理
  2. linux简单目录,Linux下各目录简单整理
  3. numpy使用[]语法索引二维numpy数组中指定指定列之后所有数据列的数值内容(accessing columns in numpy array after specifc column)
  4. 你可能不知道的小程序
  5. HDOJ HDU 2080 夹角有多大II ACM 2080 IN HDU
  6. python小程序-10个Python练手小程序,学习python的很好的资料
  7. Windows Phone 7 Image Controller: Zoom In, Zoom Out, and Rotate (WP 7 图像控制器:放大,缩小,旋转)...
  8. Spring REST
  9. Java StringBuilder subSequence()方法与示例
  10. 高斯混合模型聚类_GMM: Gaussian Mixed Model(高斯混合模型)
  11. python画害羞的表情_用Python把你的朋友变成表情包
  12. MyEclipse中防止代码格式化时出现换行
  13. Jpcap包的安装与配置
  14. 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
  15. 董明珠这一年:格力造芯与银隆困局
  16. info There appears to be trouble with your network connection. Retrying
  17. python兔子生兔子
  18. PAT 1157 Anniversary
  19. (附源码)nodejs+mysql+node基于vue框架的游戏商城设计及开发 -《夜幕》毕业设计262127
  20. RFC4385:PWE3 Control Word for Use over an MPLS PSN读书笔记

热门文章

  1. 编译Android系统源码和内核源码
  2. CDP、私域运营及数字营销相关名词一览
  3. 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
  4. GUI-Guider中文手册
  5. 网页进行针式打印_针式打印机的页面打印设置小技巧解析
  6. 【51单片机】DS1302时钟芯片
  7. 三层交换机也不贵:自己动手做三层交换机
  8. Python ADF 单位根检验 结果理解
  9. 文件服务器 配额,文件服务器配额邮件通知
  10. 数理化解题研究杂志数理化解题研究杂志社数理化解题研究编辑部2022年第15期目录