【发布时间】:2019-04-26 07:23:15
【问题描述】:
我正在试验 opencv python 的 T-Api。目前我正在尝试将普通的 RGB 图像转换为灰度并在启用 T-Api 的情况下保存它。这是sn-p
import cv2
import dlib
im = cv2.UMat(cv2.imread('input.png',1))
print(im)
imMat = cv2.UMat(im)
gray = cv2.cvtColor(imMat,cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray.png',gray)
输出如下以及错误
<cv2.UMat object at 0x7fd1e400e378>
<cv2.UMat object at 0x7fc97d0ec390>
Segmentation fault (core dumped)
在上述操作之前我已经尝试过了
cv2.ocl.setUseOpenCL(True)
print(cv2.ocl.haveOpenCL())
上面的打印语句输出错误,我在想我需要通过支持 OpenCL 的 opencv 编译才能使 cv2.UMat 工作,但我能够打印出两个 im 输出。我从这个example 复制了代码,它似乎工作正常
import cv2
img = cv2.UMat(cv2.imread("image.jpg", cv2.IMREAD_COLOR))
imgUMat = cv2.UMat(img)
gray = cv2.cvtColor(imgUMat, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (7, 7), 1.5)
gray = cv2.Canny(gray, 0, 50)
cv2.imshow("edges", gray)
cv2.waitKey();
我到底哪里错了?
【问题讨论】:
标签: python-3.x opencv3.0