0

我有一个点向量,我想将每个点的值 255 放在一个矩阵中,这是我尝试过的,它没有用

.............................
cv::Mat result;
result =cv::Mat::zeros(frame.size(),CV_8UC1);
std::vector<cv::Point2f> vectorOFPoints;
...............................
    for ( int i = 0 ; vectorOFPoints.size()-1;i++){
                result.at<uchar>(vectorOFPoints.at<i>) = 255; 
            }

知道我该怎么做吗?提前致谢

4

1 回答 1

0

你在循环中的行是错误的,应该是

result.at<uchar>(vectorOFPoints.at<cv::Point2f>(i)) = 255;

但是您可能需要将点类型设置为 cv::Point 而不是 cv::Point2f(不知道它如何与 cv::Point2f 一起使用)

std::vector<cv::Point> vectorOFPoints;
/* Code */
/* Loop */
result.at<uchar>(vectorOFPoints.at<cv::Point>(i)) = 255;

我认为这可能有效(虽然没有测试)

于 2013-08-05T09:00:14.690 回答