小编jde*_*dev的帖子

Android FaceBook newMyFriendsRequest返回EMPTY好友列表

我正在使用Parse和Facebook开发我的第一个Android应用程序,所以我对它很陌生.

我正在尝试检索用户的好友列表,Request.newMyFriendsRequest()但在使用真实用户进行测试时,它会给我一个空列表.

据我所知,只有Graph API v2.0这个请求才会返回同时使用该应用程序的人的朋友.

出于这个目的,我创建了一个假的Fb配置文件,我在Facebook上与我的真实个人资料成为朋友,安装了我的应用程序,ParseUser使用ParseFacebookUtils.link两个配置文件注册并与Facebook链接,但请求返回一个空的朋友列表.

我在Facebook的App仪表板中创建了几个测试用户,并模拟了他们之间的几个友谊.我在我的应用程序(注册parseUser,链接ParseFacebookUtils.link)中使用其中两个进行了相同的过程,并且列表users.size() 按预期返回2个朋友.

为什么它不适用于我的实际配置文件和假配置文件(这与任何其他实际配置文件一样)?

这是我链接配置文件的方式:

List<String> permissions = new ArrayList<String>();
permissions.add("public_profile");
permissions.add("user_friends");

ParseFacebookUtils.link(currentUser, permissions, MainActivity.this, new SaveCallback() {
     @Override
     public void done(ParseException ex) {
          if (ParseFacebookUtils.isLinked(currentUser)) {
             Log.d(TAG, "Woohoo, user logged in with Facebook!");
             Toast.makeText(getApplicationContext(), "Facebook succesfully linked", Toast.LENGTH_LONG).show();
          }
          if (ex != null) {
             Log.d (TAG, ex.getLocalizedMessage() + "\n + Exception Code: " + ex.getCode());
          }
     }); …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api parse-platform

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

iOS使用openCV检测来自摄像头的矩形

我正在尝试使用openCV用iPhone相机检测名片的边缘(并绘制它们).我是这个框架的新手,以及计算机视觉或C++.

我正在尝试使用此处解释的解决方案:https://stackoverflow.com/a/14123682/3708095,其中github项目是https://github.com/foundry/OpenCVSquares

它适用于预定义的图像,但我正在尝试使用相机.

为此,我正在使用它CvVideoCameraDelegate protocol实现它,CVViewController.mm就像他们在http://docs.opencv.org/doc/tutorials/ios/video_processing/video_processing.html中解释一样:

#ifdef __cplusplus
-(void)processImage:(cv::Mat &)matImage
{
//NSLog (@"Processing Image");
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    matImage = CVSquares::detectedSquaresInImage(matImage, self.tolerance, self.threshold, self.levels, [self accuracy]);

    UIImage *image = [[UIImage alloc]initWithCVMat:matImage orientation:UIImageOrientationDown];

    dispatch_async(dispatch_get_main_queue(), ^{
        self.imageView.image = image;
    });
});

}
#endif
Run Code Online (Sandbox Code Playgroud)

编辑:

如果我这样做,它给了我一个EXC_BAD_ACCESS ...

如果我在处理它之前克隆matImage,通过记录它,它似乎处理图像甚至找到矩形,但矩形不会被绘制到图像输出到imageView.

cv::Mat temp = matImage.clone();    

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    UIImage *image = [[UIImage alloc]CVSquares::detectedSquaresInImage(temp, self.tolerance, self.threshold, self.levels, [self accuracy])
                                       orientation:UIImageOrientationDown];

    dispatch_async(dispatch_get_main_queue(), ^{
        self.imageView.image = image;
    });
});
Run Code Online (Sandbox Code Playgroud)

我很确定我错过了一些东西,可能是因为我没有正确传递某个对象,指向对象的指针等等,而我需要修改的对象则没有. …

iphone opencv computer-vision ios

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

使用gpuimage hough行进行名片边缘检测的预处理步骤

我正在尝试使用GPUImage的HoughTransform检测名片的边缘,因为它似乎是使用此框架从我发现的类似问题/问题中实现此任务的最佳方式.

我能得到的最好结果就是将lineDetectionThreshold设置为0.25,这样就可以给出4行界定名片,同时最小化行总数.

我无法确定edgeThreshold参数是否有帮助.

通过我得到的线条,我将过滤掉彼此非常相似的线条(通常在每条边缘上找到很多!),将它们分成水平和垂直,然后找到2条水平线和2条垂直线,可以形成一个矩形.

由于文本或名片本身的形状,我仍然找到很多行,数字越大,视频流的性能越差.

我试图添加一些预处理,但不是很成功,可能是因为我不知道哪种技术可以帮助我.

如何才能改善仅确定边缘的4条线的检测?实际上,有可能吗?

编辑:

这里有一些图片来说明.我删除了名片中的徽标和详细信息以保护隐私.

使用0.25阈值获得的原始线(此阈值有时会在处理视频时丢失一些边缘) test5.1.jpg

使用相同图像手动过滤后的行: test5.1.filtered.jpg

另一个例子,虽然这可能更难,甚至添加预处理步骤:

原线: test7.1.jpg

过滤线: test7.1.filtered.jpg

image-processing edge-detection hough-transform ios gpuimage

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

覆盖 viewSafeAreaInsetsDidChange 需要调用 super 吗?

如果我覆盖了UIViewController的 funcviewSafeAreaInsetsDidChange是否需要调用 super?

override func viewSafeAreaInsetsDidChange() {
    super.viewSafeAreaInsetsDidChange()
    // do my stuff
}
Run Code Online (Sandbox Code Playgroud)

我知道,如果您覆盖func viewWillAppear(_ animated: Bool)并且没有调用super内部,您的应用程序可能会运行不正常。苹果实际上说你必须super在某个时候打电话。我想这不是这里的情况,这就是我想要确认的!

ios ios11 safearealayoutguide

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