用图像中的形状替换值

时间:2019-10-29 03:06:12

标签: python-3.x plot

我当前正在绘制两个图像。第一图像是RGB图像,第二图像是与RGB图像相对应的热图。我将热图设置为阈值,使其仅显示某些值,并且到目前为止,它仍在工作。

但是,实际上很难看到这些值在哪里,因为它们在300 x 300的图像中只有10个像素。我想知道是否可以将这些值替换为圆圈标识符以使其更容易看到?

这是我的代码来绘制叠加的图像:

fig=plt.figure(figsize=(12,12))
ax1 = plt.subplot(1,1,1)
ax1.imshow(f_rgb_0)
ax1.imshow(np.where((pos_output[0,:,:,0] > thresh_min) & (pos_output[0,:,:,0] < thresh_max),
                    pos_output[0,:,:,0], np.nan), alpha=0.6, cmap=plt.cm.Oranges)
plt.title('Pos Output')
plt.show()

这是叠加结果: enter image description here

您可以在遥控器中心附近看到小的像素值。

已解决。这是代码:

# Set some threshold for values plot                                                                           
img_flattened = img.reshape(img.shape[0]*img.shape[1])
sorted_img_output = sorted(img_flattened, reverse=True)

# Choose number of points to plot
number_of_points = 10
thresh_min = sorted_img_output[number_of_points]
thresh_max = sorted_img_output[0]

# Values that meet conditions 
locations_of_values = np.where((img_output[0,:,:,0] > thresh_min) & (img_output[0,:,:,0] < thresh_max),
                    img_output[0,:,:,0], np.nan)

locations_of_values = locations_of_values > 0

locations_of_values = np.nonzero(locations_of_values)

plt.imshow(img)
plt.scatter(locations_of_values[1], locations_of_values[0])

0 个答案:

没有答案