小编Roi*_*lia的帖子

使用大量UIImage时的内存问题

UIImage在一个阵列上存储大约100 个.我知道有一个内存使用问题最终导致应用程序崩溃,特别是在旧设备(iPhone 4s)上.在用户体验方面存储所有UIImages内容DocumentsDirectory- 不是一个选项(花费太长时间).所以我在考虑"合并"这两种方法.等到我收到内存使用警告,停止将图像保存到我的阵列,然后开始存储在磁盘上.我找不到正确的处理方式Memory leak/warning/usage call

 override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        print("memory warning")
    }
Run Code Online (Sandbox Code Playgroud)

当我在真实设备上进行测试时,它只是崩溃 - 没有调用方法.有什么建议?

memory memory-management uiimage swift

5
推荐指数
1
解决办法
767
查看次数

如何隔离特定颜色范围并重新着色?

给定包含嘴唇和其他“噪声”(牙齿、皮肤)的区域的图像,我们如何仅隔离嘴唇并重新着色(模拟“口红”效果)?\n附件是描述嘴唇/嘴状态的照片。

\n

到目前为止,我们尝试的是一个由三部分组成的过程:

\n
    \n
  1. 使用嘴唇上的稳定点(由内部 API 提供)对嘴唇进行颜色匹配。
  2. \n
  3. 使用此颜色作为唇部隔离的基色。
  4. \n
  5. 重新着色嘴唇(口红行为)
  6. \n
\n

我们尝试了一些算法,如色调差异、HSV 差异、\xe2\x88\x86 和 E 将它们转换为 CIE 颜色空间后。不幸的是,由于皮肤颜色与嘴唇的相对相似性以及鼻子和嘴巴投射的阴影导致的变色,没有任何结果或产生伪影。

\n

我们缺少什么?有更好的方法来处理它吗?

\n

我们正在寻找经典计算机视觉颜色算法的解决方案/方向,而不是机器学习/德普学习领域的解决方案。谢谢!

\n

在此输入图像描述

\n

algorithm graphics colors computer-vision

5
推荐指数
1
解决办法
414
查看次数

如果构建失败,避免 Xcode 运行构建

我的 Xcode 有一个奇怪的问题。考虑以下顺序:

  • 构建成功完成(我们称之为Snapshot A)。
  • 运行模拟器编译Snapshot A
  • 更改一些代码,这会导致编译器失败(我们称之为Snapshot B
  • 尝试运行该应用程序,它会显示构建错误,但Snapshot A由于某种原因仍然运行

当我尝试构建而不运行时,它将失败,但构建和运行将仅使用最后一个工作快照。有谁知道如何避免这种行为?有时真的很混乱。谢谢你!

xcode ios

5
推荐指数
0
解决办法
128
查看次数

GPUImage - 点击和曝光无法正常工作 - 缺少某些东西?

我有一个用于AVFoundation设置相机的启动项目,它工作得很好.现在我需要将Camera机制转换为GPUImage.我在两个项目中都使用了相同的焦点和曝光方法(在项目中工作得很好AVFoundation),但在GPUImage项目中它没有正确聚焦而且总是错误的.

不介意应用过滤器,它们在所有过滤器上都是相同的

示例: 在屏幕的右上角,您可以看到羊羔.这就是它如何聚焦+曝光.

在此输入图像描述

设置GPU:

stillCamera = GPUImageStillCamera(sessionPreset: AVCaptureSessionPreset640x480, cameraPosition: .Front)
    CorrectPosition =  AVCaptureDevicePosition.Front
    stillCamera!.outputImageOrientation = .Portrait;
    stillCamera?.horizontallyMirrorFrontFacingCamera = true
    filter = GPUImageFilter()
    stillCamera?.addTarget(filter)
    filter?.addTarget(self.view as! GPUImageView)
    (self.view as! GPUImageView).fillMode = GPUImageFillModeType.init(2)
Run Code Online (Sandbox Code Playgroud)

TouchBegan方法:

   override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        var tap : CGPoint!
        if let touch = touches.first as UITouch! {
            tap = touch.locationInView(self.view)
        }
        let device: AVCaptureDevice! = self.stillCamera?.inputCamera!
        var error: NSError? = nil
        do {
            try device.lockForConfiguration()
            if …
Run Code Online (Sandbox Code Playgroud)

focus ios avcapturedevice gpuimage gpuimagestillcamera

4
推荐指数
1
解决办法
1025
查看次数

为什么我的Firebase事务中的currentData总是为零?

这就是数据库在Firebase上的呈现方式

Parent
      Match
           User 1
                 Opponent : User 2
                 State    : "NotReady"
           User 2 
                 Opponent : User 1
                 State    : "NotReady"
Run Code Online (Sandbox Code Playgroud)

我正在尝试State使用RunTransaction 更新(每个用户单独)的值.

我想做什么:

  • 检查项目是否已删除(不是nil/null)
  • 如果他存在 - 更新值
  • 如果他不存在 - 操纵UI
  • 如果他突然删除 - 中止事务(可能的情况 - 如果两个关闭事件同时运行,一个更新"状态"和其他删除所有键(removeValue)

     let path =  "Parent/Match/User 1/state"
    
     let futureRef = Firebase(url: path)
             futureRef.runTransactionBlock({
        (currentData:FMutableData!) in
        let value = currentData.value as? String
    
        if value != nil  {
            currentData.value = "Ready"
    
            return FTransactionResult.successWithValue(currentData)
        }
    
            return FTransactionResult.abort()
    
        }, andCompletionBlock: {
            // Completion Check
            (error:NSError!, success:Bool, data:FDataSnapshot!) …
    Run Code Online (Sandbox Code Playgroud)

ios firebase firebase-realtime-database

4
推荐指数
1
解决办法
1159
查看次数

通过 AVCaptureSession 视频输出了解 Metal 的使用情况

我试图了解CMPixelBuffer使用 Metal操作 Video output( )的正确方法是什么。

据我了解有MTKViewCMPixelBuffer来自视频输出的每个都被分配给了Metal Texture. 所以最终的预览是来自MTKView?

当我在屏幕上看到最终结果时,是不是:

1)CMSampleBuffer->Metal->CMSampleBuffer
Run Code Online (Sandbox Code Playgroud)

或者

2)CMSampleBuffer->Metal->MTKView
Run Code Online (Sandbox Code Playgroud)

很困惑。有人可以把东西放在现场吗?

objective-c avcapturesession cmsamplebufferref swift metal

4
推荐指数
1
解决办法
2240
查看次数

带有单条颜色的 UISlider

我不敢相信我在网上找不到答案 - 这就是我想要实现的 - UISlider 栏的单色(无论拇指在哪里)

不要介意BG颜色

秒

,但我所能改变的只是条形的一种尺寸(我猜是色调):\

秒

任何想法我怎样才能一直实现单色?

xcode objective-c uislider ios

3
推荐指数
1
解决办法
1955
查看次数

Swift 符合协议子类

在我的应用程序中,我有多个依赖于模型的 UIView 子类。每个类都采用“ Restorable”协议,该协议保存模型的超类。每个子模型都描述了特定的 UIView 不常见属性。

// Super-model
public protocol StoryItem {
    var id: Int64? { get }
}

// Parent protocol
public protocol Restorable: AnyObject {
    var storyItem: StoryItem? { get set }
}

// Specific protocol
public struct TextItem: StoryItem {
    public var id: Int64?
    public var text: String?
}

// Not complling
class ResizableLabel: UILabel, Restorable {
    var storyItem: TextItem?
}
Run Code Online (Sandbox Code Playgroud)

我收到以下编译器错误:

*Type 'ResizableLabel' does not conform to protocol 'Restorable'*
Run Code Online (Sandbox Code Playgroud)

我可以让它编译的唯一方法是更改ResizableLabel​​为

// Works
class …
Run Code Online (Sandbox Code Playgroud)

inheritance protocols subclass ios swift

3
推荐指数
1
解决办法
1394
查看次数

将 TFLite (TensorFlow) 转换为 MLModel (Apple)

我正在尝试将 TFLite Face Mesh 模型转换为 MLModel (Apple)。

TFLite 型号说明: https://drive.google.com/file/d/1VFC_wIpw4O7xBOiTgUldl79d9LA-LsnA/view

TFLite实际.tflite文件: https://github.com/google/mediapipe/blob/master/mediapipe/models/face_landmark.tflite

查看 Apple 提供的 CoreMLTools ( https://coremltools.readme.io/docs/introductory-quickstart ) 似乎是可能的,但所有示例代码都演示了来自Keras和不来自的对话TFLite(尽管明确支持):

在此输入图像描述

如何将 TFLite 模型转换为 MLModel 模型?

python tensorflow coreml coremltools tensorflow2.0

3
推荐指数
1
解决办法
3799
查看次数

Swift-animate CAshapeLayer笔触颜色

我正试图找到一种方法来动画我正在创建的笔画的颜色

circleLayer = CAShapeLayer()
circleLayer.path = circlePath.CGPath
circleLayer.lineCap =  kCALineCapRound
circleLayer.fillColor = UIColor.clearColor().CGColor
CABasicAnimation fill = CABasicAnimation.
circleLayer.strokeColor = UIColor(red: 0.4, green: 1.0, blue: 0.2, alpha: 0.5).CGColor
circleLayer.lineWidth = 20.0;
circleLayer.lineJoin = kCALineJoinRound
// Don't draw the circle initially
circleLayer.strokeEnd = 0.0

// Add the circleLayer to the view's layer's sublayers
layer.addSublayer(circleLayer)
Run Code Online (Sandbox Code Playgroud)

我想要实现的是:当它被创建时(我创建它持续1秒),颜色将自动生成

cashapelayer uiviewanimation swift

2
推荐指数
1
解决办法
3983
查看次数