opencv对python3.6以上版本支持有待商榷

本人的开发环境介绍:

1.系统:ubuntu18.04
2.编译环境:python3.6
3.编译软件:pycharm2019.02
4.视觉软件:opencv4.1.0

遇到的问题详诉:

1.本人入门学习是《Opencv3计算机视觉(python语言实现)》,现在已经把这本书完全学完了,在学习的过程中发现,其实这本书的程序还是有很多问题的,但这都不是最重要的,最重要的是,在学习完之后突然发现:
2.无论是这本书,还是opencv官方文档你都会发现有了apply()函数,经常会在程序中出现,但是我在我的python3.6环境下测试样板代码实际上会出现错误。

下面我举例子说一下(opencv4.1.0官方文档代码内容如下):

import numpy as np
import cv2 as cv
import pandas as pd
cap = cv.VideoCapture('./data/vtest.avi')
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE,(3,3))
fgbg = cv.bgsegm.createBackgroundSubtractorGMG()
while(1):
    ret, frame = cap.read()
    fgmask = fgbg.apply(frame)
    fgmask = cv.morphologyEx(fgmask, cv.MORPH_OPEN, kernel)
    cv.imshow('frame',fgmask)
    k = cv.waitKey(30) & 0xff
    if k == 27:
        break
cap.release()
cv.destroyAllWindows()

opencv对python3.6以上版本支持有待商榷_第1张图片

通过pycharm分步测试发现函数在

fgmask = fgbg.apply(frame)

这一步获取不到数据。

在网上找了很多资料,后来发现apply()函数其实是在python3.6里被移除了。

如果真是这样那就说明其实python3.6支持不了openCV官网例程,当然了我没有找到如何改掉这句函数的办法,网上也没有人说。

如果有人知道这个问题怎么可以用其他函数代替apply()函数请指教。

最近搞不定决定去学C++的opencv4.1.0了

你可能感兴趣的:(机器视觉)