C++【Opencv】获取图片中,任意两点之间的所有点的

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/imgproc/types_c.h>

using namespace cv;
using namespace std;
int main()
{
    Mat Img = Mat(500, 500, CV_8UC1, cv::Scalar(0));
    Mat image = Mat(500, 500, CV_8UC1, cv::Scalar(50));
    Point A = Point(150, 150);
    Point B = Point(280, 280);
    LineIterator line_iter(image, A, B);
    vector<Point> v_pnts;
    v_pnts.reserve(line_iter.count + 2);
    for (int i = 0; i < line_iter.count; ++i, ++line_iter)
    {
        v_pnts.emplace_back(line_iter.pos());
    }
    v_pnts.emplace_back(A);
    v_pnts.emplace_back(B);

    for (int i = 0; i < v_pnts.size(); i++)
    {
        Img.at<uchar>(v_pnts[i]) = 255;
    }

    
    imshow("image_color123", Img);
    Mat image_color = image.clone();



    cvtColor(image_color, image_color, CV_GRAY2BGR);
    for (const auto& kn : v_pnts)
    {
        image_color.ptr<Vec3b>(kn.y)[kn.x] = Vec3b(0, 0, 255);
    }
    imshow("image_color", image_color);
    waitKey();
    return 0;
}

所有的坐标顶点都存放在vector v_pnts内;

结果如下图:

相关推荐
张柏慈8 分钟前
JavaScript性能优化30招
开发语言·javascript·性能优化
promising-w37 分钟前
【嵌入式C语言】六
c语言·开发语言
打不了嗝 ᥬ᭄1 小时前
Linux 信号
linux·开发语言·c++·算法
ZLRRLZ1 小时前
【C++】C++11
开发语言·c++
一匹电信狗1 小时前
【C++】异常详解(万字解读)
服务器·c++·算法·leetcode·小程序·stl·visual studio
全栈软件开发1 小时前
PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
开发语言·ui·php·php域名授权·授权系统网站源码
誰能久伴不乏1 小时前
Qt 动态属性(Dynamic Property)详解
开发语言·qt
枫叶丹42 小时前
【Qt开发】常用控件(四)
开发语言·qt
草莓熊Lotso2 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
weixin_307779132 小时前
VS Code配置MinGW64编译Ipopt库
开发语言·c++·vscode·算法