- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图将 Mat img1 的非零元素索引存储到 vector vp1 中,但它显示了 cv::Exception at memory location
错误。当垫子不包含任何非零元素时会发生这种情况。示例代码如下。从 img 中找到非零元素索引并存储在 vp 中是成功的,但是从 img1 到 vp1 中存储非零元素索引显示错误。解决此问题的任何帮助将不胜感激。我只需要点 vector 中的坐标,因为我的算法的其余部分是基于它运行的。
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
Mat img(10, 10, CV_8U, Scalar::all(0));
img.at<uchar>(0,2)=1;
vector<Point> vp;
findNonZero(img, vp);
Mat img1(10, 10, CV_8U, Scalar::all(0));
vector<Point> vp1;
findNonZero(img1, vp1);
return 0;
}
最佳答案
此错误是因为 cv::Mat 中没有非零元素。我认为它已在更新版本中得到纠正。
虽然它增加了复杂性,但我给出了一个简单的解决方案(正如@berak 在评论中解释的那样)
vector<Point> locations;
int count = countNonZero(binaryMat);
if(count < 0)
{
findNonZero(binaryMat,locations);
}
关于c++ - 在 vector<Point> 中存储非零元素的坐标时 findnonzero() 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953187/
在我的 android 应用程序中,我使用 findNonZero() 查找和访问二值图像中的白点。 我将图像(binMat,大小为:595*800)作为方法的输入,然后我有: ... Mat wLo
我是 OpenCV 的初学者,我已经阅读了一些教程和手册,但我无法完全理解某些内容。 目前,我正在尝试将二值图像裁剪成两部分。我想知道哪一行的白色像素最多,然后裁剪掉该行及其上方的所有内容,然后仅使用
我试图将 Mat img1 的非零元素索引存储到 vector vp1 中,但它显示了 cv::Exception at memory location 错误。当垫子不包含任何非零元素时会发生这种情况
这里是个愚蠢的问题。 我想从一些黑白图像中找到像素的位置,并从 Numpy 库和 OpenCV 中找到了这两个函数。 我在网上找到的例子(http://docs.opencv.org/trunk/d1
我是一名优秀的程序员,十分优秀!