Python 着色问题-打开cv与matplotlib图例的组合
我目前正在尝试为图像中绘制的几个矩形手动创建图例。但我对颜色感到困惑Python 着色问题-打开cv与matplotlib图例的组合,python,opencv,matplotlib,Python,Opencv,Matplotlib,我目前正在尝试为图像中绘制的几个矩形手动创建图例。但我对颜色感到困惑 color_step = 255/(len(contours)+1) patch =[] for cnt_idx, cnt in enumerate(contours): cnt_color = color_step * (cnt_idx+1) cv2.rectangle(img,(cnt['x'],cnt['y']), \ (cnt['x']+cnt[
color_step = 255/(len(contours)+1)
patch =[]
for cnt_idx, cnt in enumerate(contours):
cnt_color = color_step * (cnt_idx+1)
cv2.rectangle(img,(cnt['x'],cnt['y']), \
(cnt['x']+cnt['w'], \
cnt['y']+cnt['h']),cnt_color,thickness)
patch.append(mpatches.Patch(color = (cnt_color/255.0,cnt_color/255.0,cnt_color/255.0 ), label='%d' %cnt_idx))
最后,我只是呼吁:
patch = np.array(patch)
plt.legend(handles=patch)
plt.imshow(img, interpolation = 'none', cmap='gray')
我发现,cv2.rectangle方法只是在矩形的特定位置指定cnt_color中定义的值。不幸的是,我不知道如何定义补丁的颜色
当前结果:问题是由imshow函数本身引起的,因为它在显示图像之前会对结果进行规范化。
设置vmax和vmin有助于您是否可以使用一个离散的颜色条,如下面的答案:(),而不是构建图例。