使用 cv::split 的问题

Posted

技术标签:

【中文标题】使用 cv::split 的问题【英文标题】:Problems using cv::split 【发布时间】:2013-11-01 03:38:51 【问题描述】:

我正在使用 OpenCV 2.4.6,并尝试生成一些直方图。原始示例代码从本地存储中获取图像,但我将其修改为使用VideoCapture 对象。当代码到达cv::split() 时,它会带来一个未处理的异常。它提示:

“在 0x5465B3D9 (opencv_core246.dll) 中未处理的异常 visionProject.exe: 0xC0000005: 访问冲突写入位置 0x1800E633。”

我的代码是这样的:

            VideoCapture camera;
            camera.open(0);

            camera >> src;

            if( !src.data )
                 return -1; 

            /// Separate the image in 3 places ( B, G and R )
            vector <Mat> bgr_planes;
            split(src, bgr_planes );

感谢您的宝贵时间。

【问题讨论】:

您的代码在我的带有 OpenCV2.4.5 的 PC 上运行良好。 您的代码现在与您的问题不同 我不确定是编辑整个问题还是创建一个新问题。无论如何,它现在可以正常工作,但前提是我将项目设置为 Release。还不能使用调试器。 【参考方案1】:

多亏了朋友的帮助,我才得以成功。为了使OpenCV 正常工作,我必须在Visual Studio 中将构建设置为发布。这样,它就可以正常工作。

【讨论】:

以上是关于使用 cv::split 的问题的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV python:在 BGR 图像中获取通道时 cv2.split() 与切片

OpenCV 函数学习11-图像通道的拆分(cv2.split)

OpenCV-通道分离cv::split

机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 c

plt.imshow与cv2.imshow显示颜色问题

在 python 中使用 OpenCV 分割图像