opencv,从图片上用鼠标拾取4个点的坐标,并将其保存在vector<Point>中,有问题,请教!
发布网友
发布时间:2022-04-12 22:32
我来回答
共2个回答
热心网友
时间:2022-04-13 00:02
你试试这样修改
int main()
{
org = imread("1-3.jpg",1);
namedWindow("org",1);//定义一个org窗口
setMouseCallback("org",on_mouse,0);//调用回调函数
imshow("org",org);
waitKey(0);//移动到这里执行,试一下
cout<<n<<endl;
cout<<capturePoint.size()<<endl;
ofstream file("sample.txt");
if(!file)
{
cout << "open file error!";
return 1;
}
vector<Point>::iterator it=capturePoint.begin();
for(;it!=capturePoint.end();++it)
{
file<< it->x<<','<<it->y<<endl;
}
file<<endl;
file.close();
// waitKey(0);移动到imshow("org",org);的下面一行执行
return 0;
}
热心网友
时间:2022-04-13 01:20
看来是访问不了啊,试试不用迭代器呗
opencv如何获得图片所有像素点的坐标?
cv::findContours( ) 这个函数是用来找轮廓的,我经常用,应该能解决你这个问题。 这个函数找到的线存储的数据结构是std::vector<std::vector<cv::Point> > ,这个里面就有你想要的所有的轮廓点的坐标。
vector<vector<Point>>contours; vector<Vec4i>hierarchy; < < >...
1、duVec4i指的是四个整形数。2、typedef Vec<int, 4> Vec4i;3、vector<Vec4i>hierarchy是定义的层级。4、这个在找边界findcontours的时候会自动生成,这里只是给开辟一个空间。5、就能算出边界的坐标。这是openCV里面找边界的程序里面的语句,contours被定义成二维浮点型向量,这里面将来会存储找到...
Opencv函数find4QuadCornerSubpix的参数region_size是什么意思?_百度...
imwrite(imgFileName,view_gray);//保存图片 如上所示,size(5,5)就是一个窗口大小的长宽值,这个窗口主要用作 交点 的精定位。往往标定用的黑白棋盘格交点,已经提取到了坐标,但是,有的坐标不是最优解,那么为了保证精度,就基于提取到的交点坐标,框出来一个窗口,单独对窗口内的像素点做处理,...
opencv vector<Point2f>类型数据 存入vector<Point3f>中
Point2f和Point3f是不是一个类型的啊?不是一个类型的没法转换,是一个类型的就直接用vecotr<Point2f>的初始化一个vecotr<Point3f>的对象,如:vector<Point2f> vec_point2f;vector<Point3f> vec_point3f(vec_point2f.begin(),vec_point2f.end());就行了 ...
OPENCV,vector<vector<Point> >::iterator itc= contours.begin...
:: 这个表示命名空间限定 contours.begin()这个东西是C++ 的STL部分的vector的东西。建议去看看C++的STL~
OpenCV中vector<DMatch>类型怎么转换成vector<KeyPoint>类型?_百度...
point;vector<KeyPoint> right_key_point;p_left_keypoint.push_back(left_key_point[ result_match[i].queryIdx ].pt);p_right_keypoint.push_back(right_key_point[ result_match[i].trainIdx ].pt);left_key_point和right_key_point是通过算子得到的左右影像的特征点。希望能够帮到你。
opencv二值图 想找到所有非零点的坐标 然后用cvFitLine对这些进行...
std::vector<cv::Point> points;//mat为你的二值图像 for(int j = 0; j < mat.rows; j++){ uchar* ptr = mat.ptr<uchar>(j);for(int i = 0; i < mat.cols; i++){ if(ptr[i])points.push_back(cv::Point(i, j));} } cv::Vec4f line;cv::fitLine(cv::Mat(points)...
opencv sift 怎么用
1、使用opencv内置的库读取两幅图片 2、生成一个SiftFeatureDetector的对象,这个对象顾名思义就是SIFT特征的探测器,用它来探测衣服图片中SIFT点的特征,存到一个KeyPoint类型的vector中。这里有必要说keypoint的数据结构,涉及内容较多,具体分析查看opencv中keypoint数据结构分析,里面讲的自认为讲的还算...
OpenCv如何检测黑点?
// 查找图像的所有轮廓 vector<vector<Point>> contours_temp;findContours(src_binary, contours_temp, RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0));// 筛选的面积限定值 double min_area = 100;// 筛选轮廓 for (int i = 0; i < contours_temp.size(); i++){ // 第i个...
有用过findcontours找轮廓的吗,contour里面存储的是点向量
vector<vector<Point> > contours;vector<Vec4i> hierarchy;findContours( src, contours, hierarchy,CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE );// iterate through all the top-level contours,// draw each connected component with its own random color int idx = 0;for( ; idx >= 0; idx...