我当前正在绘制两个图像。第一图像是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()
您可以在遥控器中心附近看到小的像素值。
已解决。这是代码:
# 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])