c++ - 使用 OpenCV 绘制固定的网格线集

标签 c++ opencv draw

是否可以根据 OpenCV 示例文件中的颜色检测示例的输出,在所有交叉点绘制用户定义的网格线和定义的点?基本上,网络摄像头需要从您上方检测人的头部和肩膀。然后当检测到一个人时,我需要网格线在那里,以便我能够知道从哪个最外面的网格(左肩)到下一个最外面的网格(右肩),在 x 和 y 轴(前额和后脑勺)。此后,必须发送这些点以操作执行器和阀门等机械部件。

我是 OpenCV 的入门级用户,对 C++ 的使用只有初级知识。 我目前在 VS2008 上使用 OpenCV 2.1。

最佳答案

很难说出您的问题到底是什么。

如果您只想绘制网格线,没有 opencv 函数可以做到这一点。 要在网格中绘制线条,您可以在循环中使用 cv::line,然后使用嵌套循环绘制交点。

// assume that mat.type=CV_8UC3

dist=50;

int width=mat.size().width;
int height=mat.size().height;

for(int i=0;i<height;i+=dist)
  cv::line(mat,Point(0,i),Point(width,i),cv::Scalar(255,255,255));

for(int i=0;i<width;i+=dist)
  cv::line(mat,Point(i,0),Point(i,height),cv::Scalar(255,255,255));

for(int i=0;i<width;i+=dist)
  for(int j=0;j<height;j+=dist)
    mat.at<cv::Vec3b>(i,j)=cv::Scalar(10,10,10); 

关于c++ - 使用 OpenCV 绘制固定的网格线集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318239/

相关文章:

c++ - OpenGL - 为什么我会收到此错误?不支持 COMPILATION_FAILED 版本 '330'

android - dlopen 失败 : library "/system/lib64/libhwuibp.so" not found : Honor 4C 64-bit octa-core CPU

CvLoadImage 函数和列表

Android:手机摄像头分辨率会影响预处理结果吗

xamarin.ios - 我如何在 Xamarin 上画圆圈?

python - OpenCV 自动通过点绘制直线的最佳方法

c++ - 模板参数在具有相同数据类型的单一类型名称的构造函数中不起作用

c++ - 为什么 snprintf 比 ostringstream 快,还是这样?

ios - 为什么在UIView上画线需要背景色?

c++ - 来自 opencv 的 Imshow 不再工作