Python 在opencv图像上使用matplotlib
我在结合matplotlib和opencv时遇到了一些困难。我有以下代码显示视频流,并在按下空格键时暂停。然后我想使用matplotlib在暂停的图像上绘制一些注释(然后用户可以点击空格取消暂停并重复该过程)。但是,每当我添加任何matplotlib函数时,它都会打开一个单独的图形窗口,理想情况下,我希望直接在图像上添加注释。我还查看了opencv中可用的绘图功能,但没有足够的功能(我希望将复杂曲线拟合到暂停的图像)。任何帮助都将不胜感激Python 在opencv图像上使用matplotlib,python,opencv,matplotlib,Python,Opencv,Matplotlib,我在结合matplotlib和opencv时遇到了一些困难。我有以下代码显示视频流,并在按下空格键时暂停。然后我想使用matplotlib在暂停的图像上绘制一些注释(然后用户可以点击空格取消暂停并重复该过程)。但是,每当我添加任何matplotlib函数时,它都会打开一个单独的图形窗口,理想情况下,我希望直接在图像上添加注释。我还查看了opencv中可用的绘图功能,但没有足够的功能(我希望将复杂曲线拟合到暂停的图像)。任何帮助都将不胜感激 import numpy as np import cv
import numpy as np
import cv2
from matplotlib import pyplot as plt
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, im = cap.read()
# Our operations on the frame come here
im_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
im_g = cv2.GaussianBlur(im_gray,(5,5),0)
(thresh, im_bw) = cv2.threshold(im_g, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
cv2.imshow('Window',im)
k = cv2.waitKey(1)
if k > 0:
print k
if k == 32:
##########
# Plot on top of image using matplotlib
##########
cv2.waitKey(0)
continue
elif k == 27:
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
能否输入一些要使用的matplotlib命令?matplotlib imshow与cv2 imshow相比是否也有效?我的Python经验是有限的,但如果我理解正确,这是在C中发生的,因此我预计在同一窗口上绘图将非常困难。但是,在Matplotlib中绘制图像一点也不困难;是否可以对所有图形使用Matplotlib?您甚至使用了灰度,因此RGB/BGR不会成为问题。