【发布时间】:2015-08-15 12:11:31
【问题描述】:
我正在尝试创建一个程序,该程序将向我展示我正在捕获的视频的不同类型的渐变。这是我的代码:
import cv2
import numpy as np
from matplotlib import pyplot as plt
cap = cv2.VideoCapture()
while(1):
bleh, img = cap.read()
laplacian = cv2.Laplacian(img,cv2.CV_64F)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()
但是,我收到一条错误消息,指出无法将图像数据转换为浮点数。
当我将视频捕获替换为仅图像并将其直接馈送到拉普拉斯变换、sobelx 和 sobely 变换时,此程序可以工作。
我不能确定视频的 matplot 吗?
【问题讨论】:
-
为我工作。 img的dtype是什么?
标签: python-2.7 opencv matplotlib