python中cv2、Image和plt的图片打开、显示和保存

使用cv2、Image、plt打开、显示和保存图片

文章目录

0、读取图片

import cv2
from PIL import Image
import matplotlib.pyplot as plt

image_read_cv2 = cv2.imread('./cat.jpg', cv2.IMREAD_COLOR)
image_read_Image = Image.open('./cat.jpg')

print(image_read_cv2.shape)
使用 cv2打开的图片格式是:(1440, 2560, 3) [h, w, c]
通道顺序是BGR print(image_read_Image.size)
使用Image打开的图片格式是:(2560, 1440) [w, h]
通道顺序是RGB

提炼知识点:cv2格式图片和Image格式图片格式互转


image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))

image0 = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)

1、使用cv2显示cv2打开的图片

def cv2_show_cv_image(image):
    cv2.namedWindow('image', 0)
    cv2.resizeWindow('image', 600, 500)
    cv2.imshow('image', image)
    cv2.waitKey(0)
    cv2.destroyWindow('image')

2、使用cv2显示Image打开的图片

def cv2_show_Image_image(image):
    image0 = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)
    cv2.namedWindow('image', 0)
    cv2.resizeWindow('image', 600, 500)
    cv2.imshow('image', image0)
    cv2.waitKey(0)
    cv2.destroyWindow('image')

3、使用Image显示Image打开的图片

def Image_show_Image_image(image:Image):
    image.show()

一般在dataset中使用Image进行处理


image = image.resize((new_w, new_h), Image.BICUBIC)
image_new = Image.new('F', size=(in_w, in_h), color=0)
image_new.paste(image, (dx, dy))

4、使用Image显示cv2打开的图片

这个应用场景可以是dataset加载时使用cv2先对图片进行预处理,再转换成Image格式,

def Image_show_cv2_image(image:cv2):
    image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
    image.show()

5、使用plt显示cv2打开的图片


def plt_show_cv2_image(image):
    image0 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    plt.figure()
    plt.axis('off')
    plt.imshow(image0)
    plt.show()

6、使用plt显示Image格式的图片


def plt_show_Image_image(image:Image):
    plt.figure()
    plt.imshow(image)
    plt.show()

7、使用plt显示多张图片

def plt_show_multi_image(image1, image2):
    def plt_show_multi_image(image1, image2):
    fig = plt.figure(num=1)
    fig.tight_layout()
    plt.subplot(121)
    plt.imshow(image1)

    plt.subplot(122)
    plt.imshow(image2)

    plt.show()

使用plt绘制图之后使用 plt.savefig('cats.png') 保存图片

Original: https://blog.csdn.net/weixin_50727642/article/details/119743762
Author: 沐枫8023
Title: python中cv2、Image和plt的图片打开、显示和保存

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/637587/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球