c++ opencv 在做图像处理时,需要进行角点检测,但是定义完数组,并且运行角点检测的函数后,无法赋值,经过检测应该不是参数的问题导致没有输出值,主要问题应该在于数组定义这里,不知道怎么解决
vector <Point2f> points_corners ;//取角点
int max_corners = 5;//取两个角点即可
double quality_level = 0.1;//角点质量
double min_distance = 50;//小于10的两个角点要合并
int block_size = 12;//常规取值,若分辨率大可增加值
bool use_harris = false;//使用ShiTomasi算法
double k = 0.04;
goodFeaturesToTrack(img_canny, points_corners, max_corners, quality_level, min_distance, Mat(), block_size, use_harris, k); //角点检测
//将检测到的角点绘制到原图上
Point p_left;
Point p_right;
p_left.x = points_corners[0].x + 5;
p_left.y = points_corners[0].y;
p_right.x = points_corners[1].x - 5;
p_right.y = points_corners[1].y;
报错是在p_left.x = points_corners[0].x + 5这里,报错是0x00007FF63F151E63 处有未经处理的异常(在 contact angle.exe 中): 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。
我试过在初始化vector这里就进行赋值,但是也是同样的报错,所以应该是初始化就有问题了
我需要从角点检测这个函数中得到两个点的坐标,并进行使用,有什么可以解决的方法吗