learnopencv 之 显示图片 @ Jupyter

本系列运行在 Jupyter 上 主要参考github 记录是督促自己学习

github  https://github.com/spmallick/learnopencv.git

原始的 cv.imshow 在Jupyter上不能显示图片 这里采用  matplotlib 曲线绘图

首先创建 pltcvshow.py 文件

import cv2
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

import matplotlib.animation as animation

def cv_show(img, name="plt_cv_show", type="nogray", animate=False): # 利用plt显示图片
    # cv2.imshow(name,img)
    
    plt.figure(figsize=(10,10))
    plt.title(name)
    
    if type == 'gray' :
        img = plt.imshow(img, cmap='gray', animated=animate)
        
        return img
    else :
        img2 = img[:, :, ::-1]
        img = plt.imshow(img2, animated=animate)
        return img

在文件 imread_examples.ipynb 调用处使用 

import cv2
import sys
sys.path.append("..")
import pltcvshow

# Read 8-bit grayscale image
im = cv2.imread("earth-16-bit-per-channel.png", cv2.IMREAD_GRAYSCALE)
print ("flags :  cv2.IMREAD_GRAYSCALE")
print ("Size %s, type %s\n" % (im.shape,im.dtype))
pltcvshow.cv_show(im, "earth-16-bit-per-channel", "gray")

# Read 8-bit color image
im = cv2.imread("earth-16-bit-per-channel.png", cv2.IMREAD_COLOR)
print ("flags : cv2.IMREAD_COLOR")
print ("Size %s, type %s\n" % (im.shape,im.dtype))
pltcvshow.cv_show(im, "earth-16-bit-per-channel")

# Read 16-bit color image
im = cv2.imread("earth-16-bit-per-channel.png", cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH )
print ("flags :  cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH")
print ("Size %s, type %s\n" % (im.shape,im.dtype))
pltcvshow.cv_show(im, "earth-16-bit-per-channel")

# Read transparent PNG / TIFF image
im = cv2.imread("earth-16-bit-per-channel.png", cv2.IMREAD_UNCHANGED)
print ("flags : cv2.IMREAD_UNCHANGED")
print ("Size %s, type %s\n" % (im.shape,im.dtype))
pltcvshow.cv_show(im, "earth-16-bit-per-channel")

目录结构如下图:

 

 

运行结果 各位自己运行了看结果吧 ^-^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值