OpenCV 角检测返回零角向量
OpenCV corner detection returning null corners vector
我正在尝试检测棋盘图像的角落。我尝试过使用goodFeaturesToTrack和findChessboardCorners,但它们都以相同的方式失败了。它们返回的角向量似乎为空。(即大小是 -2948392...内存错误类型的东西)。
gray = imread("C:/Users/Wesley/Desktop/New folder/cb.png",0);
// Parameters for Shi-Tomasi algorithm
std::vector<cv::Point2f> corners;
double qualityLevel = 0.1;
double minDistance = 10;
int blockSize = 3;
bool useHarrisDetector = false;
double k = 0.04;
int maxCorners = 30;
Mat copy;
copy = gray.clone();
// Apply corner detection
goodFeaturesToTrack(gray,
corners,
maxCorners,
qualityLevel,
minDistance,
Mat(),
blockSize,
useHarrisDetector,
k );
int r = 4;
for( int i = 0; i < corners.size(); i++ )
{ circle( copy, corners[i], r, Scalar(255, 255,255), -1, 8, 0 ); }
// Show what you got
imshow( "source_window", copy );
这一定是我做错了什么。一旦由于内存访问冲突而调用 corners.size(),它就会崩溃。这是在Qt中,如果它有任何区别的话。
希望有人能为我指出正确的方向!
请检查您是否不是在发布模式下编译,而是针对调试模式链接,反之亦然。
OpenCV会给你最奇怪的行为,如果你链接到错误的库。
相关文章:
- 矩阵向量乘法(cublasDgemv)返回零
- 零四元数和任何向量都不为零的特征积,这是一个错误吗?
- 如何在C++中返回向量的从零开始的索引
- 向量的大小是否有可能为 1 但其中的元素数量为零?
- 以零字节作为定界符/终端的字节加入(连接)字符串向量
- DLL – 在 DLL 初始化时填充的静态向量,向客户端程序返回零大小
- 如何正确地将规则 5(或零?)应用于包含带有字符串的自定义对象向量的类
- 为什么将floats推到向量时,为什么要获得零
- 犰狳:从稀疏矩阵中获取稀疏行向量的非零位置
- 犰狳与 Boost Odeint 冲突:Odeint 在集成期间将状态向量调整为零
- 为什么将整数从文件读取到2D向量导致所有值均为零
- 创建一个随机的std ::向量,其中一个和零C
- 对无零值的多维向量进行排序
- OpenCV 角检测返回零角向量
- 如何重置带有零的内置C++向量
- 在构造函数后初始化零向量的有效方法
- 检查std::向量的大小是否为零
- 如何在 c++ 中获取向量中第一个非零值的索引<int>
- 给出对类的零大小向量的引用不起作用
- findnonzero() 中存储向量<Point>中非零元素的坐标时出错