2024-05-12 15:46:39 发布
网友
我想知道如何制作这种彩色地图: enter image description here
我希望能画出这种地图。我已经为每个网格设置了两个值(即enter image description here(p,et),(R,et)),所以我需要如何将这个colormap与我的相关值结合起来。但是我不知道怎么做这个颜色图。 参考文献:A。J。关于大陆蒸发趋势的区域观点。 谢谢
你可以这样做:
import cv2 import numpy as np def get_rgb(two_d_pixels): theta = np.arctan(two_d_pixels[1,:] / two_d_pixels[0,:]) r = np.sqrt(two_d_pixels[1,:]**2 + two_d_pixels[0,:]**2) hue = (theta+3.14/2) * 128./(3.14) # 127 max for hue sat = (r/np.sqrt(2)) * 255 #255 max for sat H,W = two_d_pixels.shape[1:3] retval = np.zeros([H,W,3],dtype = np.uint8) retval[:,:,0] = hue retval[:,:,1] = sat retval[:, :, 2] = 255 retval = cv2.cvtColor(retval,cv2.COLOR_HSV2BGR) return retval two_d_image = np.mgrid[-1:1:0.1,-1:1:0.1] rgb = get_rgb(two_d_image) cv2.imshow('ok',rgb) cv2.waitKey(0)
这显示了从((-1,1),(-1,1))到RGB的映射,例如here。 我用mgrid做了一个2*X*Y张量,ρp和ρrg是这两个张量平面上的值。如果您需要与本文中完全相同的颜色映射,您可以调整色调、饱和度的公式,请记住,arctan的范围从-pi/2到pi/2,r的范围从sqrt(2)到0
你可以这样做:
这显示了从((-1,1),(-1,1))到RGB的映射,例如here。 我用mgrid做了一个2*X*Y张量,ρp和ρrg是这两个张量平面上的值。如果您需要与本文中完全相同的颜色映射,您可以调整色调、饱和度的公式,请记住,arctan的范围从-pi/2到pi/2,r的范围从sqrt(2)到0
相关问题 更多 >
编程相关推荐