python imshow彩色_如何在Mayavi中绘制彩色图像(ImShow)

importpylabasplfrommayaviimportmlabdefmlab_imshowColor(im,alpha=255,**kwargs):"""

Plot a color image with mayavi.mlab.imshow.

im is a ndarray with dim (n, m, 3) and scale (0->255]

alpha is a single number or a ndarray with dim (n*m) and scale (0->255]

**kwargs is passed onto mayavi.mlab.imshow(..., **kwargs)

"""try:alpha[0]except:alpha=pl.ones(im.shape[0]*im.shape[1])*alphaiflen(alpha.shape)!=1:alpha=alpha.flatten()# The lut is a Nx4 array, with the columns representing RGBA# (red, green, blue, alpha) coded with integers going from 0 to 255,# we create it by stacking all the pixles (r,g,b,alpha) as rows.myLut=pl.c_[im.reshape(-1,3),alpha]myLutLookupArray=pl.arange(im.shape[0]*im.shape[1]).reshape(im.shape[0],im.shape[1])#We can display an color image by using mlab.imshow, a lut color list and a lut lookup table.theImshow=mlab.imshow(myLutLookupArray,colormap='binary',**kwargs)#temporary colormaptheImshow.module_manager.scalar_lut_manager.lut.table=myLut

mlab.draw()returntheImshowdeftest_mlab_imshowColor():"""

Test if mlab_imshowColor displays correctly by plotting the wikipedia png example image

"""#load a png with a scale 0->1 and four color channels (an extra alpha channel for transparency).fromurllibimporturlopen

url='http://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png'im=pl.imread(urlopen(url),format='png')im*=255mlab_imshowColor(im[:,:,:3],im[:,:,-1])mlab.points3d([-200,300,-200,300],[-200,300,200,-300],[300,300,300,300])mlab.show()if__name__=="__main__":test_mlab_imshowColor()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值