是否可以根据OpenCV样本文件中颜色检测样本的输出,在所有交叉点绘制具有已定义点的用户定义网格线?基本上,网络摄像头需要从你上方检测人的头部和肩部。然后,当检测到一个人时,我需要网格线在那里,以便我能够知道从哪个最外面的网格(左肩)到下一个最外面的网格(右肩),在x和y轴(前额和回头)。此后,必须发送这些点以操作机械部件,如执行器和阀门。
我是一名入门级OpenCV用户,只是初学者对使用C ++的了解。 我目前在VS2008上使用OpenCV 2.1。
答案 0 :(得分:4)
很难说出你的问题究竟是什么。
如果您只想绘制网格线,则没有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);
答案 1 :(得分:0)
使用OpenCV线功能在图像上绘制网格
check_box_tag