精华内容
下载资源
问答
  • 对于一张lena图,有时候显示是原始的样子: 但有时候显示是 问题是通道数顺序;对于彩色图片,一般而言是由RGB三通道组成,不同的是通道顺序的问题导致显示的颜色问题,比如RGB BGR等; 解决 这里明确一下 使用cv...

    问题

    对于一张lenna图,有时候显示是原始的样子:
    在这里插入图片描述
    但有时候显示是
    在这里插入图片描述
    问题是通道数顺序;对于彩色图片,一般而言是由RGB三通道组成,不同的是通道顺序的问题导致显示的颜色问题,比如RGB BGR等;

    解决

    这里明确一下

    • 使用cv2.imread读取图像时候,获得的图像顺序是BGR顺序
    • 使用cv2.imshow显示图像时候,要求图像顺序是BGR顺序
    • 使用plt.imshow 显示图像时候,要求图像顺序是RGB顺序

    BGR与RGB的互换,可以使用cv2.cvtColor进行转换:

    # bgr to rgb
    img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    
    # rgb to bgr
    img_bgr = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2BGR)
    

    展示

    • cv2.imread 和 cv2.imshow
    img = cv2.imread('../image/lenna.png')
    img.shape  # img is bgr
    cv2.imshow('png', img)
    cv2.waitKey(0)
    

    在这里插入图片描述

    cv2.imshow('rgb', img_rgb)  # img_rbg is rgb
    cv2.waitKey(0)
    

    在这里插入图片描述

    • plt.imshow
    plt.imshow(img)
    

    在这里插入图片描述

    img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    plt.imshow(img_rgb)
    

    在这里插入图片描述

    展开全文
  • Matplotlib之Image图像

    千次阅读 2019-07-23 12:05:24
    编写代码显示类似于下面的图像: 代码: import matplotlib.pyplot as plt from numpy import * a=array([0.1,0.2,0.3, 0.4,0.5,0.6, 0.7,0.8,0.9]).reshape(3,3) plt.imshow(a,interpolation='nearest',...

    编写代码显示类似于下面的图像:

    代码:

    import matplotlib.pyplot as plt
    from numpy import *
    a=array([0.1,0.2,0.3,
             0.4,0.5,0.6,
             0.7,0.8,0.9]).reshape(3,3)
    
    plt.imshow(a,interpolation='nearest',cmap=plt.cm.hot,origin='upper')  #制图
    plt.colorbar()
    
    plt.xticks(())
    plt.yticks(())
    plt.show()    #显示

    注:

    • numpy.reshape(3,3)将一维数组变为3行3列的二维数组,例子如下:
    >>> arr=array([1,2,3,4,5,6,7,8,9,10,11,12])
    >>> arr1=arr.reshape(2,6)
    >>> arr1
    array([[ 1,  2,  3,  4,  5,  6],
           [ 7,  8,  9, 10, 11, 12]])
    
    >>> arr2=arr.reshape(3,4)
    >>> arr2
    array([[ 1,  2,  3,  4],
           [ 5,  6,  7,  8],
           [ 9, 10, 11, 12]])
    • plt.imshow(a,interpolation='nearest',cmap=plt.cm.hot,origin='upper'),

    interpolation属性是关于设置图片的一个显示问题,它的值请参考:https://matplotlib.org/examples/images_contours_and_fields/interpolation_methods.html

    origin参数控制颜色的排序问题,upper表示从上方开始显示,将upper换成lower请看图片的变化:

    • plt.colorbar():图片右边的色度条,默认长度和图片一样长。plt.colorbar(shrink=0.8)表示缩小20%显示。

     

    展开全文
  • plt.imshow()的像素显示参数,是将类似数组的像素值作为一个集合和颜色集合范围做map(对应关系),因此,只有一个数值时,只是对应最小的颜色值, Parameters ---------- X : array_like, shape (n, m) or (n, m, 3...

    下面是plt.imshow的结果,
    但发现全0或1时都是黑色如图中a,b
    一半0一半1时,内够很好的分开如图c,d

    import numpy as np
    import matplotlib.pyplot as plt
    
    # a=plt.imread('right.jpg')
    a = np.zeros((50,100),dtype=np.int)  
    b = np.ones((50,100),dtype=np.int)
    c=np.vstack((a,b))  #合并成(100*100)
    d=np.vstack((b,a))
    print(c.shape)
    print(c)
    plt.colorbar()
    plt.imshow(d, cmap='gray')
    # plt.savefig('right.jpg')
    plt.show()
    

    在这里插入图片描述
    个人理解,从下面的帮助文档看出,plt.imshow()的像素显示参数,是将类似数组的像素值作为一个集合颜色集合范围做map(对应关系),因此,只有一个数值时,只是对应最小的颜色值,

    Parameters
        ----------
        X : array_like, shape (n, m) or (n, m, 3) or (n, m, 4)
            Display the image in `X` to current axes.  `X` may be an
            array or a PIL image. If `X` is an array, it
            can have the following shapes and types:
        
            - MxN -- values to be mapped (float or int)
            - MxNx3 -- RGB (float or uint8)
            - MxNx4 -- RGBA (float or uint8)
        
            The value for each component of MxNx3 and MxNx4 float arrays
            should be in the range 0.0 to 1.0. MxN arrays are mapped
            to colors based on the `norm` (mapping scalar to scalar)
            and the `cmap` (mapping the normed scalar to a color).
    

    像素值对应显示图的颜色等级,将颜色范围对应不同比例的像素值,如下图所示,代码只需要将d的代码换为3个数组的合并即可

    d=np.vstack((b/4.0,a,b/2.0))
    

    在这里插入图片描述

    展开全文
  • python matplotlib 显示图像

    万次阅读 多人点赞 2017-12-29 21:34:47
    python matplotlib 显示图像 首先需要importimport os...import matplotlib.pyplot as plt显示一幅彩色图片img = Image.open(os.path.join('images', '2007_000648' + '.jpg'))plt.figure("Image") # 图像窗口名称 plt

    python matplotlib 显示图像
    首先需要import

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

    显示一幅彩色图片

    img = Image.open(os.path.join('images', '2007_000648' + '.jpg'))
    
    plt.figure("Image") # 图像窗口名称
    plt.imshow(img)
    plt.axis('on') # 关掉坐标轴为 off
    plt.title('image') # 图像题目
    plt.show()

    这里写图片描述

    显示一副灰度图像

    img = Image.open(os.path.join('images', '2007_000648' + '.jpg'))
    img = img.convert('L')
    
    plt.figure("Image")
    # 这里必须加 cmap='gray' ,否则尽管原图像是灰度图(下图1),但是显示的是伪彩色图像(下图2)(如果不加的话)
    plt.imshow(img,cmap='gray')
    plt.axis('on')
    plt.title('image')
    plt.show()

    这里写图片描述

    这里写图片描述

    一个窗口显示多幅图像,要用到subplot

    import os
    import numpy as np
    from PIL import Image
    import matplotlib.pyplot as plt
    
    img = Image.open(os.path.join('images', '2007_000648' + '.jpg'))
    gray = img.convert('L')
    r,g,b = img.split()
    img_merged = Image.merge('RGB', (r, g, b))
    
    
    plt.figure(figsize=(10,5)) #设置窗口大小
    plt.suptitle('Multi_Image') # 图片名称
    plt.subplot(2,3,1), plt.title('image')
    plt.imshow(img), plt.axis('off')
    plt.subplot(2,3,2), plt.title('gray')
    plt.imshow(gray,cmap='gray'), plt.axis('off') #这里显示灰度图要加cmap
    plt.subplot(2,3,3), plt.title('img_merged')
    plt.imshow(img_merged), plt.axis('off')
    plt.subplot(2,3,4), plt.title('r')
    plt.imshow(r,cmap='gray'), plt.axis('off')
    plt.subplot(2,3,5), plt.title('g')
    plt.imshow(g,cmap='gray'), plt.axis('off')
    plt.subplot(2,3,6), plt.title('b')
    plt.imshow(b,cmap='gray'), plt.axis('off')
    
    plt.show()
    

    这里写图片描述

    展开全文
  • import matplotlib.pyplot as...from matplotlib.image import imread img = imread('F:\\ml\\DL\\source-code\\dataset\\lena.png') #imread读取图片 plt.imshow(img)#显示图片 plt.show() 转载于:...
  • 小结matplot1.主要是用于显示灰度图的显示总结一下: 在pycharm中运行python 控制台 运行之后可以像matlab一样查看变量 cv2 1.读取显示彩色图片 import cv2 import numpy as np import matplotlib.pyplot as plt ...
  • python matplotlib.pyplot 显示图像

    千次阅读 2019-10-01 04:13:19
    1. example1 import cv2 import matplotlib.pyplot as plt img1 = cv2.imread('/media/data_2/everyday/0930/1.jpeg') img2 = cv2.imread('/media/data_2/everyday/0930/2.jpg') img3 = cv2.imread('/media/da...
  • matplotlib的基本用法(十)——绘制Image

    千次阅读 2017-05-02 22:32:49
    matplotlib的基本用法(十)——绘制Image
  • Jupyter NoteBook 中使用 cv2.imshow 显示图片 有两种办法: 用 cv2.imshow时加入cv2.destroyAllWindows() 用 plt.imshow() 代替 cv2.imshow 1. cv2.imshow 加入 cv2.destroyAllWindows() 后可以解决 ...%matplot...
  • 简介 In the Python bindings of ...若要以plt显示需要用imutils.opencv2matplotlib函数,或者要将Image.open 读取的图片正常显示需要cv2.cvtColor来调用。 图片Gaussian pyramid(一)Image.open 读取 ...
  • 1. 显示时,灰度值转化到0~255 2. 对0~1的灰度值,转化到0~255,在显示。 3. 对小于0的灰度值,将其视为0,然后 转化为0~255,在显示。 import numpy as np import torchvision import torch from torch.utils....
  • jupyter matplot.lib画图不显示解决方法

    千次阅读 2019-09-04 19:41:56
    注意如果还没有显示图像,则有可能是该条代码加的顺序不对(至少我自己是这样) 最开始代码是加在所有 module 都 import 后,最后无法显示图像。 最后瞎试,发现有两种方式可以解决,不过原理都一样。 (1...
  • Show how to modify the coordinate formatter to report the image "z" value of the nearest pixel given x and y """ # coding: utf-8 import time import string import os import math import pylab import...
  • matplotlib figure转为numpy array或者PIL图像进行显示 实现将matplotlib绘制的图像转换为numpy数组,并使用PIL或者OpenCV进行显示 参考资料:...
  • 需要显示灰度图像时,可以使用plt.get_cmap: import matplotlib.pyplot as plt import Image im = Image.open( " th.jpg " ) plt.imshow(im, cmap = plt.get_cmap( " gray " )) pos =plt.ginput(3 ) ...
  • # 调节plot显示的边距显示文本问题 plt.subplots_adjust(bottom=0.45,right=0.96,top=0.9) def autolabel(rects): """Attach a text label above each bar in *rects*, displaying its height.""" for rect in...
  • def show_images(images, titles=None, num_cols=None, scale=2.5): ... num_cols: 每行最多显示多少张图像 scale: 用于调整图窗大小,测试时2.5会比较好 """ num_imgs = len(images) if num_cols is None: num
  • 自己使用的时候,和教程上一样但是不显示,别人用的jupyter,我用的pycharm但是不显示图像,博客上看的一个是加了一行代码,类似OPencv中的延时显示,cv2.waitKey(0)。 import matplotlib.image as imgplt import ...
  • python的matplotlib.pyplot显示图片

    万次阅读 2018-03-26 11:03:36
    matplotlib.pyplot docs :https://matplotlib.org/api/pyplot_summary.html用matplotlib库...imread(*args, **kwargs) Read an image from a file into an array. imsave(*args, **kwargs) Save an array as in i...
  • matplotlib显示彩色图片还是黑白图片

    千次阅读 2018-12-12 16:09:36
    彩色图片 plt.imshow(image_show) 黑白图片 plt.imshow(image_show,cmap='gray')
  • matplotlib 显示图片的颜色不对

    千次阅读 2020-04-19 21:49:33
    原因: matplotlib 的颜色通道是GBR,不是一般的RGB 经过下面的处理即可 res = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
  • 使用matplot画柱状图

    千次阅读 2017-07-19 09:10:45
    matplot csv bar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 497
精华内容 198
关键字:

matplot显示image