草庐IT

c++ - 将两个点转换为矩形 (cv::Rect)

我有两个点(假设来自一个矩形,是它的左上角和右下角)。PointpTopLeft;PointpBottomRight;我想使用这些点来制定一个cv::Rect。所以,我试过了cv::RectrRect;rRect.tl()=pTopLeft;rRect.br()=pBottomRight;没有错误。但是Rect似乎什么也没有。即,两个点都指示为零。那么,如何用任意两个点构造一个新的Rect对象? 最佳答案 因为Rect::tl()和Rect::br()只返回拷贝,而不是引用,尝试构造函数:cv::RectrRect(pTopLeft

c++ - 将 OpenCV 的 Rect 转换为 dlib 的矩形?

由于速度慢,我使用OpenCV的人脸检测器和C++进行dlib的人脸对齐,而不是dlib的检测器。要使用dlib的面部对齐,我必须将检测矩形传递给面部对齐功能。但是,即使dlib的检测器没问题,我也不能那样做。因为std::vectordets用于dlib'ssamplecode,我尝试如下所示分配,但我不能。注意detect_rect是OpenCV检测器的人脸检测矩形。dets[0].l=detect_rect.left;dets[0].t=detect_rect.top;dets[0].r=detect_rect.right;dets[0].b=detect_rect.bottom

ios - 如何计算在 View 上绘制时恰好适合矩形宽度的给定 NSString 的字体大小?

我想在UIView上的一行中绘制一个适合给定矩形宽度的字符串(很像adjustsFontSizeToFitWidth用于UILabel当行数=1时执行)。我正在尝试计算适合矩形的字体大小,如下所示。-(UIFont*)fontforWidth:(CGFloat)widthString:(NSString*)stringToFit{CGFloatwidthForIdealFontSize=[selfwidthForIdealFontSizeWithString:stringToFit];CGFloatrequiredFontSize=(KIdealFontSize/widthForIde

ios - 如何在 UIView 上绘制一个 NSStrings 数组,它们之间没有任何前导空间并占据整个矩形?

我想在UIView上绘制一个不同字体大小的字符串数组this.我已经计算了每根要画的字符串需要的高度。示例中的字符串数组是{"Entersometext","that","willfit","therect"}。我计算的高度如下,@implementationNSString(Additions)-(CGFloat)heightForFont:(UIFont*)font{NSAttributedString*attrString=[[NSAttributedStringalloc]initWithString:selfattributes:@{NSFontAttributeName:f

ios - 用视觉、iOS、Swift 检测带有矩形而不是整个屏幕的文本

我使用Vision进行文本检测,但这会在所有屏幕上显示检测,有没有办法让它只检测特定区域,例如我在屏幕中间绘制的矩形。所以当整个屏幕是一个摄像头时,如果文本进入中心的矩形,它会在其周围绘制框。下面是我的文本检测代码和cameraPreviewLayer。如果可能的话,我是否需要2个相机预览层?funcsetupPreviewLayer(){cameraPreviewlayer=AVCaptureVideoPreviewLayer(session:captureSession)cameraPreviewlayer?.videoGravity=AVLayerVideoGravity.res

ios - 用 UIBezierPath 填充圆形动画和 iOS 绘制矩形

我在github上有这个:https://github.com/evertoncunha/EPCSpinnerView它做这个动画:动画中有一个小故障,当圆圈正在填充并且View正在调整大小时,我不想修复它。故障发生是因为我通过设置层角来填充圆圈的方式,所以它看起来像一个圆圈,并且我随着动画的进展增加了lineWidth,看起来它是从外向内填充的。来自EPCDrawnIconSpinner.swift文件:letovalPath=UIBezierPath()ovalPath.addArc(withCenter:CGPoint(x:ovalRect.midX,y:ovalRect.mid

ios - UIBezierPath 绘制矩形以及所需的圆

我正在尝试使用UIBezierPath(rect:)构造函数绘制圆,但与圆一起-矩形形状也被绘制为框架并且可见。这是我的代码:classProgressView:UIView{letprogressLayer=CustomShapeLayer()//declaredbelowthisclassoverrideinit(frame:CGRect){super.init(frame:frame)self.isOpaque=false}requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overridefuncdra

ios - 矩形交叉点的数量?

我正在尝试检查2个CGPath之间的重叠程度。我想到的最简单的方法是获取边界CGRect之间的重叠百分比。我知道当不同的路径占据相似的边界时这会失败。但是哦,如果你知道更好的方法......请帮忙。无论如何,当前的问题是计算矩形之间的重叠百分比。我看到CGRectIntersection函数获取相交的矩形。我可以计算这个矩形的面积,但似乎没有一种简单的方法来获得非相交区域的面积。有任何想法吗?从rectUnion的面积中减去该面积是否有意义?如果我正确理解rectUnion,如果并集和交集的大小相同,它们就完全重叠了? 最佳答案 我

iphone - 类似于 Windows 桌面中的矩形选择

我正在为CocoaTouch制作一个日程安排应用程序,我需要能够通过触摸屏幕来选择时间间隔。我的意思是,用户必须能够用手指在“ScheduleView”中选择一个时间间隔,然后添加一个事件。我正在考虑做某种矩形选择,类似于每个人都可以在Windows桌面上做的那种,但我不知道如何检测多点触摸,也不知道如何绘制选择矩形。谁能帮帮我?附注:“ScheduleView”是一个UIView,而不是一个UITableView 最佳答案 您需要将UIGestureRecognizer添加到您的View中。您可以作为委托(delegate)检测触