轮廓图上的 OpenCV2.4.6 和 VS12 错误
OpenCV2.4.6 and VS12 error on contour drawing
我正在尝试从图像中提取和绘制轮廓。我选择的代码主要取自opencv示例代码,但是当我运行此代码时,我收到带有消息的异常错误"在 test1.exe 中0x000007FEFDCA9E5D的第一次机会异常:Microsoft C++异常:cv::内存位置 0x000000000028EB40 处的异常。如果存在此异常的处理程序,则可以安全地继续该程序。
,我一直在寻找解决方案,但我发现了类似的问题.以下代码是否有任何解决方案,因为如果有人尝试绘制轮廓,这是最常见的代码。
或者我会对面临相同错误的其他人感到非常高兴,如果有人为轮廓提取提出最佳或通用解决方案
'
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include "opencv2imgprocimgproc.hpp"
using namespace cv;
using namespace std;
int main( int argc, const char** argv )
{
Mat img1 = imread("ima1.JPG", CV_LOAD_IMAGE_UNCHANGED);
Mat canny_img1;
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;
RNG rng(12345);
/*Using canny filter for feature extraction in image 1*/
Canny(img1,canny_img1,1,3,3,0);
/* Find contours*/
findContours( canny_img1 , contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );
/* Draw contours */
// Mat drawing = Mat::zeros( canny_img1.size(), CV_8UC3 );
/// Draw contours
Mat drawing = Mat::zeros( canny_img1.size(), CV_8UC3 );
for( int i = 0; i< contours.size(); i++ )
{
Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );
drawContours( drawing, contours, i, color, 2, 8, hierarchy, 0, Point() );
}
/// Show in a window
namedWindow( "Contours", CV_WINDOW_AUTOSIZE );
imshow( "Contours", drawing );
waitKey(0);
return 0;
}
'
若要运行示例代码,需要正确配置 VS 项目。
你可以这样做:http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html?highlight=visual%20studio%20installation
一些要点:
您必须转到项目属性并设置一些内容:
1)使用静态库或动态:为此,您需要在"附加库目录"中正确选择适当的目录。
根据您尝试运行项目"调试/发布"的模式,如果您使用 staticlib,您需要在扩展名之前添加带有"d"的 .lib 文件。
2)根据您正在制作的32位或64位项目,您需要将适当的dll目录添加到系统路径。
3)您需要添加"包含其他目录到"c\opencv\build\include"
希望会有所帮助
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 在 VS12 中将初始值设定项列表作为向量的函数参数传递时出现语法错误
- 轮廓图上的 OpenCV2.4.6 和 VS12 错误