【发布时间】:2023-12-20 23:19:01
【问题描述】:
我有显示图像 MISER 区域的代码:
import numpy as np
import cv2
import sys
import matplotlib.pyplot as plt
imp1 = sys.argv[1]
img1 = cv2.imread(imp1)
mser = cv2.MSER()
gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
vis = img1.copy()
regions = mser.detect(gray, None)
hulls = [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions]
cv2.polylines(vis, hulls, 1, (0, 255, 0))
def plot_stuff(img1, img1_name, img2, img2_name):
fig,axes = plt.subplots(1,2,figsize=(15,6))
axes[0].imshow(img1, cmap='Greys_r')
axes[0].set_title(img1_name)
axes[1].imshow(img2)
axes[1].set_title(img2_name)
fig.suptitle("All Images")
plt.show()
plot_stuff(img1, 'Original', vis, 'MISER Regions')
它工作正常,除了它是蓝色的:
这就是我卡住的地方。因为无论我做什么,我都无法将图像显示为灰色,将 MISER 线显示为绿色。它不断返回喷气机:
即使我只显示图像,它仍然会返回 jet。为什么没有 RGB 颜色图?更好的是,为什么必须有一个颜色图,为什么不能只显示正常图像?
【问题讨论】:
标签: python opencv matplotlib rgb colormap