【发布时间】:2015-08-14 18:45:05
【问题描述】:
在上图中,我们可以看到一些openCV algorithm在图像上绘制的点。
我想在这些点上绘制一个UIView 点,以便用户对其进行裁剪。
我不知道如何访问这些积分,以便我可以添加 uiview 积分。
我尝试阅读cv::Point,但值与坐标高度和宽度不同(更多)。
static cv::Mat drawSquares( cv::Mat& image, const std::vector<std::vector<cv::Point> >& squares )
{
int max_X=0,max_Y=0;
int min_X=999,min_Y=999;
for( size_t i = 0; i < squares.size(); i++ )
{
const cv::Point* p = &squares[i][0];
int n = (int)squares[i].size();
NSLog(@"Squares%d %d %d",n,p->x,p->y);
polylines(image, &p, &n, 1, true, cv::Scalar(0,255,0), 3, cv::LINE_AA);
}
return image;
}
在上面的代码中,drawsquare 方法绘制正方形。我有NSLog 点 x、y 坐标,但这些值与设备坐标系无关。
有人可以帮助我如何实现它或替代我的要求。
谢谢
【问题讨论】:
-
所以这里的问题是您无法在图像视图的顶部绘制 CropView(多边形)?对吗?
-
不,我只想将 cv::Point 转换为 CGPoint,这样我就可以在这些点上添加 uiview 点并添加裁剪功能。cv::Point 不是设备坐标。有什么公式转换它。
-
@muku 我也有类似的问题,你能找到这个 cvpoint 到 cgpoint 的解决方案吗..
-
仅供参考:Apple 类 CIDetector 提供了类似的矩形检测功能。
标签: c++ ios objective-c opencv cgpoint