首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python3和Opencv3 &多处理提高系统误差

Python3和Opencv3 &多处理提高系统误差
EN

Stack Overflow用户
提问于 2014-10-21 17:08:28
回答 1查看 395关注 0票数 3

我目前在python3.4中使用OpenCV 3。我的机器是一个带有OSX10.10(约塞米蒂)的MacBook Pro,我在使用OpenCV的一些功能与多处理库相结合时遇到了问题。下面是一个(非常)简化的示例代码,它复制了错误:

代码语言:javascript
复制
import multiprocessing
import numpy
import cv2


class Sample():
    def __init__(self):
        self.mask = []  # Testing

    def experiment(self):

        img = cv2.imread("/Users/luigolas/PycharmProjects/PyReid/tests/test_resources/P2/cam1/P2_001_cam1_1.png")
        self.mask.append(segment(img))
        print("Segmented!")
        processes = [multiprocessing.Process(target=self._func) for i in range(3)]
        _ = [p.start() for p in processes]
        _ = [p.join() for p in processes]

    def _func(self):
        img = cv2.imread("/Users/luigolas/PycharmProjects/PyReid/tests/test_resources/P2/cam2/P2_001_cam2_1.png")
        cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
        print("Done!!")


def segment(image):
    bgdmodel = numpy.zeros((1, 65), numpy.float64)
    fgdmodel = numpy.zeros((1, 65), numpy.float64)
    mask_source = "/Users/luigolas/PycharmProjects/PyReid/resources/masks/OptimalMask.txt"
    mask = numpy.loadtxt(mask_source, numpy.uint8)
    cv2.grabCut(image, mask, None, bgdmodel, fgdmodel, 2, cv2.GC_INIT_WITH_MASK)

    mask = numpy.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')

    return mask


if __name__ == '__main__':
    t = Sample()
    t.experiment()

问题是,它从来没有达到“完成!”打印,因为它中断显示OS错误消息。完整的错误消息在此要旨中。

我被困在这个问题上已经有一段时间了,还没能找到这个错误的确切原因。如果我不运行"cvtcolor“命令,那么根本没有问题。如果"grabcut“命令没有运行.

UDATE:方法中的_func方法--如果我添加一个打印或创建一个文件作为打印和创建的第一条指令,就意味着进程已经启动。当执行grabcut (段函数)和cvtcolor时,就会出现这个问题。如果其中一个没有被执行,那么根本就没有问题。怎么会有关系呢?

我也尝试过使用multiprocessing.dummy.Process,它起了作用。也许是OpenCV的问题?

EN

回答 1

Stack Overflow用户

发布于 2014-10-24 18:05:42

我终于解决了。这是OpenCV编译和安装中的一个问题。无法真正判断出哪里出了问题,但我检查了自制如何配置OpenCV并对其进行了调整(添加了python3支持)。

谢谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26492337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档