是否可以根据 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/