小编Dvo*_*ole的帖子

如何在iOS上分析视频流?

例如,有QR扫描仪实时扫描视频流并获得QR码信息.我想检查视频中的光源,如果它打开或关闭,它是非常强大的,所以它没有问题.

我可能会将视频流作为输入,可能会制作图像并分析图像或实时流式传输光源(可能是图像上某些颜色的像素数?)

我该如何处理这个问题?也许有一些图书馆的来源?

video opencv objective-c video-processing ios

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

为什么在init方法中使用双括号,或者是1 ==(1)?

在评估某些含义时,括号做了什么?我在代码中遇到过这种情况,当检查某些内容并使用它们时

if ( (some condition that returns 1) )
{
code
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,这是否评估为真?我认为它总是错误的,因为(1)不返回任何东西?

编辑:澄清,问题是为什么双括号中的if?我知道1是真的.

c objective-c

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

将渐变应用于UIImage - 如何去除颜色反转?

我正在应用渐变UIImage,我想让它在底部变暗,然后在中间慢慢变为透明或浅灰色.它基本上没问题,但我有一个问题,我的图像颜色在这个渐变下的某些地方反转.这看起来很烦人.我该如何解决?

这是我方便的方法.

我尝试过采用不同的混合模式,但它没有帮助.另一个问题是,如何在底部使黑色更加密集?

此方法无需任何额外代码即可运行.开始颜色[UIColor blackColor]和结束颜色是[UIColor clearColor]:

- (UIImage *)imageWithGradient:(UIImage *)img startColor:(UIColor *)color1 endColor:(UIColor *)color2 {
    UIGraphicsBeginImageContextWithOptions(img.size, NO, img.scale);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, 0, img.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextSetBlendMode(context, kCGBlendModeDarken); // tried normal here, same results


    CGRect rect = CGRectMake(0, 0, img.size.width, img.size.height);
    CGContextDrawImage(context, rect, img.CGImage);

    // Create gradient
    NSArray *colors = [NSArray arrayWithObjects:(id)color1.CGColor, (id)color2.CGColor, nil];
    CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
    CGGradientRef gradient = CGGradientCreateWithColors(space, (__bridge CFArrayRef)colors, NULL);

    // Apply gradient
    CGContextClipToMask(context, rect, img.CGImage);
    CGContextDrawLinearGradient(context, …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios5 ios6

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

在Objective-c中使用什么而不是"id"?

我观看了一些WWDC视频并注意到他们使用了其他东西而不是(id)返回未知对象的类型.

但遗憾的是我遗忘了关键字.
谁能告诉我为什么在返回一些对象时使用新东西而不是'id'?特别是在init和class方法中?

objective-c ios

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

将一种类型的std :: vector转换为另一种类型

我想将int的简单向量转换为我的自定义类的向量.我的类有一个接受int的构造函数.

class BitInteger {
public:
    BitInteger(int num) {
    // code omitted
    }
};
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但它返回了一些深奥的错误,我该如何解决?

std::vector<int> nums {0, 1, 2, 3, 5, 6, 7, 8, 9};
std::vector<BitInteger> bitIntegers(nums.size());
bitIntegers.assign(nums.begin(), nums.end());
Run Code Online (Sandbox Code Playgroud)

错误是:

no matching constructor for initialization of 'BitInteger'
            ::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
Run Code Online (Sandbox Code Playgroud)

如何更改构造函数以使其工作,或者是否有更简单的方法?

c++ c++11

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

UILabel没有注册触摸

我有一个问题,我想用手指拖动标签,我甚至无法在其上注册触摸.有什么问题?self是我的viewcontroller和self.label是我的标签.

编辑:

我的标签是通过uiimageview以编程方式制作的.UserInteractionEnables设置为YES.我不确定有什么问题,这里是完整的代码:

在里面:

  UIImage *myImage = [UIImage imageNamed:@"fish.jpg"];
    UIImageView *mainImageView = [[UIImageView alloc] initWithImage:myImage];
    self.view.frame = CGRectMake(0, 0, 320, 480);
    self.view = mainImageView;
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
    self.label.userInteractionEnabled = YES;
    self.label.text = @"Hello, World";
    [self.view addSubview:self.label];
Run Code Online (Sandbox Code Playgroud)

拖动:

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches]anyObject];
    if([[touch view] isEqual:self.label])
    {
        NSLog(@"touch on label");

        self.startLocation = [[touches anyObject] locationInView:self.label];
        // startLocation is a CGPoint declare globaly in .h..and lblName is your UILabel
    }
}

- …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios6

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

使用缓存进行递归Fibonacci计算 - 无法找到错误

我写了一个简单的函数来计算斐波纳契数,但它会进入无限循环和崩溃.我似乎无法找到这里的问题.

#include <stdio.h>

int fib(int number, int *cache);

int main(int argc, char *argv[])
{
    int cache[20] = {0};
    int result = fib (3, cache);
    printf("%d ", result);
}

int fib(int number, int *cache)
{
    if (number == 0) return 0;
    if (number == 1) return 1;

    if (cache[number] != 0) return cache[number];

    int result = fib(number - 1, cache) + (number - 2, cache);
    cache[number] = result;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

c algorithm recursion

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

在简单类上,Xml序列化失败并带有NullReferenceException

我有一个我要序列化的简单类:

public class InnerCharacter : Object {

    public double xp;
    public double hp;
}
Run Code Online (Sandbox Code Playgroud)

我累了不同的方法,例如:

public static void TestSerialize()
{
    InnerCharacter c = new InnerCharacter();
    Serialize(c);
}
static public void Serialize(InnerCharacter details)
{
    XmlSerializer serializer = new XmlSerializer(typeof(InnerCharacter));
    using (TextWriter writer = new StreamWriter(@"Xml.xml")) {
        serializer.Serialize(writer, details);
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过文件流和其他方法,但它们都会导致相同的异常.以下是我尝试在我的一个GameObjects上加载Unity中的代码:

public void Start()
{
    TestSerialize();
}
Run Code Online (Sandbox Code Playgroud)

它们都以相同的NullReferenceException失败:

NullReferenceException
System.Reflection.MonoProperty.GetterAdapterFrame[Object,String] (System.Reflection.Getter`2 getter, System.Object obj) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:234)
System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:292)
System.Xml.Serialization.XmlTypeMapMember.GetValue (System.Object ob)
System.Xml.Serialization.XmlSerializationWriterInterpreter.GetMemberValue (System.Xml.Serialization.XmlTypeMapMember member, System.Object ob, …
Run Code Online (Sandbox Code Playgroud)

c# mono unity-game-engine

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

数组中的零对象在一定计数后也会崩溃程序

我有一个程序,从Instagram抓取数据,将其放入字典,然后我解析它.

当我尝试使用该数据时问题就开始了,神奇的项目编号0使我的程序崩溃了.

此外,在一定数量的下一个项目也崩溃该程序.

这是UITableViewCell的代码,它从数组/字典中获取文本并将其放入单元格.看起来,它会崩溃,如果我添加另一个检查以从1号开始,它可以工作,但是当它达到某个计数时会崩溃.我不明白为什么会发生这种情况,因为我有方法告诉TableView表中有多少行,它返回[self.loader.dataArray count],所以它不可能尝试加载出界.

if (self.loader.dataArray[indexPath.row] != nil )
    {
    cell.textLabel.text = [[[self.loader.dataArray[indexPath.row] objectForKey:@"caption"] objectForKey:@"from"] objectForKey:@"full_name"];
    }
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

instagramClient [8254:907] *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [NSNull objectForKey:]:无法识别的选择器发送到实例0x3bb8f090'

json objective-c ios instagram ios6

0
推荐指数
1
解决办法
221
查看次数

SKTexture返回错误的大小?

我有一个图像图集,它们是80乘80.但SKTexture说有些帧是33x80,尽管它们显然是80x80.怎么了?我的动画运行时看起来非常错误.

这是代码:

SKTextureAtlas *myAtlas = [SKTextureAtlas atlasNamed:@"my"];
NSInteger numberOfImages = [run.textureNames count];

NSLog(@"atlas: %@", myAtlas);

for (int i = 0; i < numberOfImages; i++) {
    NSString *textureName = [NSString stringWithFormat:@"walk%.2d", i];
    SKTexture *temp = [myAtlas textureNamed:textureName];
    [self.runningFrames addObject:temp];
}
Run Code Online (Sandbox Code Playgroud)

记录返回:

<SKTextureAtlas> 'my' 16 textures:
 (
    "<SKTexture> 'walk00.png' (33 x 80)",
    "<SKTexture> 'walk01.png' (80 x 80)",
    "<SKTexture> 'walk02.png' (33 x 80)",
... omitted
)
Run Code Online (Sandbox Code Playgroud)

这是为什么?我的动画完全失控,它从一侧移到另一侧,等等.

ios ios7 sprite-kit

0
推荐指数
1
解决办法
948
查看次数