欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中利用opencv、matplotlib读取和显示图像

程序员文章站 2022-03-20 14:53:15
...

前言

每次在python里敲代码,总要忘记咋子显示图片,所以直接进行个小整理,忘了直接copy过去就完事????

一、opencv读取图片

opencv读入的数据为uinit型,范围为0-255;(PIL也是)

import cv2
img = cv2.imread("./image/test.png")   //opencv读取图片

二、opencv显示图片

import cv2
def cv_show(name,img):    //自定义显示函数
    cv2.imshow(name,img)
    cv2.waitKey()
    cv2.destroyAllWindows()

三、 plt读取图片

matplotlib.image读入的数组是float32型[numpy(array)],范围为0-1

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img = mpimg.imread("./image/test.png")

四、 plt显示图片

from matplotlib import pyplot as plt
plt显示彩色图片

opencv读取图片,三个通道分别表示B、G、R;
PLT显示图像,三个通道需为R、G、B;

def plt_show_rgb(img):    //显示由opencv读取的彩色图
    b,g,r = cv2.split(img)
    img = cv2.merge([r, g, b])
    plt.imshow(img)
    plt.show()       //必须加此句!
plt显示灰度图片
def plt_show_gray(img):
    plt.imshow(img,cmap='gray')
    plt.show()  

附 : PIL读取图片并显示

from PIL import Image
img = Image.open("./image/test.png")
img.show()
img.save("..../1.png")

将图片转换为numpy数组:

import numpy as np
img_array = np.array(img)