imshow()函数

Matplotlib imshow() 函数声明


# Autogenerated by boilerplate.py.  Do not edit as changes will be lost.
@docstring.copy(Axes.imshow)
def imshow(X, cmap=None, norm=None, aspect=None, interpolation=None,alpha=None, vmin=None, vmax=None, origin=None, extent=None,shape=cbook.deprecation._deprecated_parameter, filternorm=1,filterrad=4.0, imlim=cbook.deprecation._deprecated_parameter,resample=None, url=None, *, data=None, **kwargs):__ret = gca().imshow(X, cmap=cmap, norm=norm, aspect=aspect,interpolation=interpolation, alpha=alpha, vmin=vmin,vmax=vmax, origin=origin, extent=extent, shape=shape,filternorm=filternorm, filterrad=filterrad, imlim=imlim,resample=resample, url=url, **({"data": data} if data is notNone else {}), **kwargs)sci(__ret)return __ret

一些比较重要的参数解析:

  1. X : 可以是数组或者图片, shape只能是 (n, m) or (n, m, 3) or (n, m, 4)
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)//可以选择被映射,cmap可以自己选,默认RGB
MxNx3 – RGB (float or uint8)//只能是RGB,cmap为none,默认值,
MxNx4 – RGBA (float or uint8)//只能是RGBA,cmap为none,默认值
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).
//MxNx3和MxNx4浮点数组的值应该在0.0到1.0之间。MxN数组根据范数(将标量映射到标量)和cmap(将已赋范的标量映射到颜色)映射到颜色。
  1. cmap
    颜色图谱(colormap), 默认绘制为RGB(A)颜色空间。
    cmap : Colormap, optional, default: None
    If None, default to rc image.cmap value. cmap is ignored if X is 3-D, directly specifying RGB(A) values. //3维数组使用默认值。
颜色图谱
autumn 红-橙-黄
bone 黑-白,x线
cool 青-洋红
copper 黑-铜
flag 红-白-蓝-黑
gray 黑-白
hot 黑-红-黄-白
hsv hsv颜色空间, 红-黄-绿-青-蓝-洋红-红
inferno 黑-红-黄
jet 蓝-青-黄-红
magma 黑-红-白
pink 黑-粉-白
plasma 绿-红-黄
prism 红-黄-绿-蓝-紫-…-绿模式
spring 洋红-黄
summer 绿-黄
viridis 蓝-绿-黄

Opencv imshow() 函数声明

C++: void imshow(const string& winname, InputArray mat)
Python: cv2.imshow(winname, mat) → None
C: void cvShowImage(const char* name, const CvArr* image)
Python: cv.ShowImage(name, image) → None
  1. imshow函数在指定的窗口中显示图像。如果窗口是用CV_WINDOW_AUTOSIZE标志创建的,则显示的是原始大小的图像,但是它仍然受到屏幕分辨率的限制。否则,图像被缩放以适应窗口。该函数可以缩放图像,取决于其深度:
    如果图像是8位无符号的,则按原样显示。
    如果图像是16位无符号或32位整数,则像素除以256。也就是说,将值范围[0,255*256]映射到[0,255]。
    如果图像是32位浮点数,则像素值乘以255。也就是说,取值范围[0,1]被映射到[0,255]。
  2. 如果在此函数之前没有创建窗口,则假定使用CV_WINDOW_AUTOSIZE创建窗口。
    如果需要显示比屏幕分辨率大的图像,则需要在imshow之前调用namedWindow("", WINDOW_NORMAL)。
    如果窗口是用OpenGL支持创建的,imshow也支持ogl::Buffer, ogl::Texture2D和gpu::GpuMat作为输入。
  3. 与cv.waitKey()搭配使用,否则imshow显示很快,看不到图片。

异同

类似点

  1. 都要搭配一个函数,图片才能为我们所见:plt.imshow()搭配plt.show();cv.imshow搭配cv.waitKey();
  2. 都支持多种显示图片的色彩

不同点

  1. matplotlib是读取RBG颜色通道的顺序是RGB,opencv是BGR,进而会导致一些图片显示的色差,所以我们需要对颜色通道进行一些处理。
  2. opencv imshow支持图片窗口的缩放,对图片的灰度选择性映射。而Matplotlib仅在二维数组映射

演示
1.不指定cmp,无法显示灰度图

#读取图片
lena = Image.open("E:/浏览器下载文件/GOOgle/lena512color .jpg")
lena_L = lena.convert("L")
plt.imshow(lena_L)
#plt.imshow(lena_L,cmp="gray")#必须加上cmap=“gray",才能显示灰度图


去掉注释后运行,得到

2.二者的读取颜色通道不同

没处理颜色通道之前

#读取图片
lena = Image.open("E:/浏览器下载文件/GOOgle/lena512color .jpg")
plt.imshow(lena)#matplotlib显示
lena_1 = np.array(lena)
#print(lena_L1.dtype)
cv.imshow("lena",lena_1)
plt.show()


可见显示的效果差异
处理颜色通道后

#读取图片
lena = Image.open("E:/浏览器下载文件/GOOgle/lena512color .jpg")
r,g,b = lena.split()#opencv,Image都是split,merge
lena_bgr = Image.merge("RGB",[b,g,r])
plt.imshow(lena)#matplotlib显示lena_1 = np.array(lena_bgr)
#print(lena_L1.dtype)
cv.imshow("lena",lena_1)
plt.show()

Matplotlib中的imshow函数与Opencv中的imshow相关推荐

  1. opencv中的copyTo函数在opencv-Python中的实现

    Opencv中的copyTo()函数在opencv-Python中的实现 copyTo() 函数有两种方式 第一种:src_Image.copyTo(dst_Image),表示将原图复制到目标图中. ...

  2. python2中的unicode_python2中的unicode()函数在python3中会报错:

    python2中的unicode()函数在python3中会报错:NameError: name 'unicode' is not defined There is no such name in P ...

  3. php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素

    怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...

  4. 计算机算最大值如何操作,Excel表格中如何通过函数判断数据中的最大值

    Excel表格中如何通过函数判断数据中的最大值 腾讯视频/爱奇艺/优酷/外卖 充值4折起 Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么通过函数判断数 ...

  5. python imshow函数_opencv学习之显示图像-imshow函数

    序 上一篇opencv学习之读取图像-imread函数介绍完opencv读取图片函数imread,这次来介绍与它对应的图像显示函数imshow. imshow函数 imshow函数功能 imshow的 ...

  6. Matlab中的eig函数和Opecv中eigen()函数的区别

    奇异值分解的理论参见下面的链接 http://www.cnblogs.com/pinard/p/6251584.html https://blog.csdn.net/shenziheng1/artic ...

  7. slic去除识别效果图中的裂纹(修改opencv中的库函数)

    识别出来的原图: 识别后的效果图: slic_image = segmentation.mark_boundaries(image, m_slic,outline_color=(0,1,1)) 在这个 ...

  8. matlab匿名函数求导,MATLAB中的匿名函数和Python中的匿名函数

    在MATLAB和Python中都有一个叫做匿名函数的东西,在这里对比一下. 一. MATLAB中这样来定义一个匿名函数: f = @(x1, x2, ...) exper @后面的括号里面是自变量,然 ...

  9. C中的qsort函数和C++中的sort函数的理解与使用

    一.qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); ...

最新文章

  1. asp.net core 教程(七)-异常处理、静态文件
  2. 【转】modulenotfounderror: no module named ‘matplotlib._path‘问题的解决
  3. 20120511学习笔记
  4. 进程间通信 - 动态链接库实现
  5. c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解...
  6. eclipse更新time out的问题
  7. python打包和添加数据文件_python使用grpc,并打包成python模块
  8. “老师,我不要苹果味的,我要葡萄味的”!
  9. 机器学习在高德起点抓路中的应用实践
  10. Java实现RPC框架
  11. [sublime] sublime 实现Markdown编辑器
  12. JAVA发送HttpClient请求及接收请求结果过程
  13. 《概率论基础教程》总结2 随机变量、期望、方差
  14. 如何用计算机计算微积分,高数从此不用怕?一键计算微积分的神App
  15. 电脑蓝牙音箱,电脑怎么连蓝牙音响吗
  16. Japanese的意思
  17. 四川轻化工大学计算机网络技术分数线,四川轻化工大学录取分数线2021是多少分(附历年录取分数线)...
  18. 点击改变文本框选择内容,Jquery datatables 重新加载数据
  19. Chapter3.1.1 python函数小示例
  20. MAE TransMix

热门文章

  1. java版我的世界和win10我的世界_Windows10版我的世界联机教程
  2. 移动端屏幕适配原理以及方法讲解
  3. 2020年中国第三方跨境支付行业研究报告
  4. PyQt之科学使用线程处理耗时任务以及线程通信方法
  5. 计算机密码储存在哪里看,网页上的密码储存在电脑什么地方
  6. 耳机连接电脑后,声音一卡一卡的,但是耳机连接手机没问题
  7. 光电显示技术 1 绪论
  8. Python实现支付宝在线支付(1)
  9. 线性回归----多项式回归
  10. word2010中如何在斜线表格中添加文字