metal-performance-shaders相关内容
我正在尝试编写用于从 RGB 转换为 YUV 的 Metal 计算着色器,但出现构建错误. typedef 结构 {float3x3 矩阵;float3 偏移量;} 颜色转换;//计算内核kernel void kernelRGBtoYUV(texture2d inputTexture [[ texture(0) ]],texture2d纹理Y [[ 纹理(1)]],texture2dtextu
..
我对使用Metal Performance Shaders进行矩阵乘法特别感兴趣,但是有关其他框架的答案也很好. 矩阵乘法在理论上是高度可并行化的运算.我需要自己乘以A′A(撇号代表换位)的许多矩阵.矩阵A的大小约为4000 x300.考虑到这些矩阵的大小,我想知道是否值得将乘法代码移植到GPU.据我了解,在GPU上进行乘法运算还涉及将数据从主内存复制到GPU内存(我使用的是eGPU,因此不
..
我正在尝试在iOS上使用MPSImageHistogramEqualization进行直方图均衡,但是最终抛出了一个我不理解的断言.这是我的代码: // Calculate Histogram var histogramInfo = MPSImageHistogramInfo( numberOfHistogramEntries: 256, hi
..
在查看新的CoreML API时,在生成.mlmodel并将其捆绑到您的应用程序中之后,我看不到任何继续训练模型的方法.这使我认为我无法对用户的内容或动作进行机器学习,因为必须事先对模型进行全面培训. 有没有办法在发货后将训练数据添加到我的训练过的模型中? 编辑:我刚刚注意到您可以从URL初始化生成的模型类,所以也许我可以将新的训练数据发布到我的服务器上,重新生成训练后的模型并将其下载
..
我正在尝试使用MPSImageIntegral计算MTLTexture中某些元素的总和.这就是我正在做的: std::vector integralSumData; for(int i = 0; i
..
在尝试使用Metal Performance Shaders和MTLBlitCommandEncoder时,我试图更好地理解同步要求. 我有一个MTLCommandBuffer,其设置如下: 使用MTLBlitCommandEncoder将纹理A的一个区域复制到纹理B.纹理A大于纹理B.我从纹理A中提取一个“平铺"并将其复制到纹理B中. 使用MPSImageBilinearSca
..
我要做什么 我正在尝试使用“金属"视图MTKView在相机摘要上显示滤镜.我正在密切关注Apple示例代码的方法-通过使用TrueDepth摄像机数据来增强实时视频(链接). 到目前为止,我有什么 以下代码效果很好(主要从上述示例代码解释): class MetalObject: NSObject, MTKViewDelegate { pr
..
我正在尝试编写用于从RGB转换为YUV的Metal计算着色器,但遇到了构建错误. typedef struct { float3x3 matrix; float3 offset; } ColorConversion; // Compute kernel kernel void kernelRGBtoYUV(texture2d
..
我需要在实况视频上应用过滤器,而我尝试在Metal中进行过滤. 但是在将过滤器编码为目标过滤器后,我遇到了将MTLTexture转换为CVPixelBuffer的问题.参考( https://github.com/oklyc/MetalCameraSample-master-2 ) 这是我的密码. if let pixelBuffer = pixelBuffer {
..
在我们的iOS应用中,我们使用的是使用Metal(CIKernel/CIColorKernel包装器)的自定义过滤器. 让我们假设我们有一个4K视频和一个具有1080p输出大小的自定义视频合成,它在视频缓冲区上应用了高级过滤器. 显然,我们不需要过滤视频的原始大小,因此我们可能会通过内存警告(真实情况)终止该应用. 这是视频过滤管道: 获取4K缓冲区(如CIImage )->
..