小编vda*_*bry的帖子

与SURF比较的奇怪结果

我正在尝试使用OpenCV和SURF方法实现交通标志识别器.我的问题是我得到随机结果(有时真的很准确,有时候显然是错误的)而且我不能解决这个问题.以下是我如何实施比较:

  • 首先,我检测到我的图像上的轮廓
  • 然后在每个轮廓上,我使用SURF来查明交通标志是否在里面以及哪个交通标志

轮廓检测效果非常好:使用高斯模糊和精确边缘,我设法找到类似于这个的轮廓:

在此输入图像描述

然后我提取对应于此轮廓的图像,并将此图像与交通标志模板图像进行比较,例如:

在此输入图像描述

在此输入图像描述

cvExtractSURF返回轮廓图像的189个描述符.然后我使用naiveNearestNeighbor方法找出我的轮廓图像和每个模板图像之间的相似性.

这是我的结果:

6/189为第一个模板(这是我期待找到的模板)

92/189用于第二个模板(在各个方面与轮廓图像明显不同)

我真的不明白这些结果......

以下是我执行的步骤列表:

  • 以灰度转动轮廓图像
  • 以灰度转动模板图像
  • 均衡轮廓图像的直方图(cvEqualizeHist)
  • 调整模板图像的大小以使其与轮廓图像匹配
  • 模糊模板图像(cvSmooth)
  • 模糊轮廓图像(cvSmooth)
  • 在模板图像上执行cvExtractSURF
  • 在轮廓图像上执行cvExtractSURF
  • 对于轮廓图像的每个描述符,我做一个naiveNearestNeighbor
  • 我存储了"好"点的数量

为了评估两个图像之间的相似性,我使用比率:

goog点数/描述符总数

PS:有关我遵循本教程的信息:http://www.emgu.com/wiki/index.php/Traffic_Sign_Detection_in_CSharp

并使用OpenCV的find_obj示例在C中进行调整.

opencv surf

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

使用simple_form更改默认错误消息

我无法从简单的表单更改默认错误消息,我试图编辑简单的表单区域设置文件,但它似乎被忽略

这是我的语言环境文件:

#config/locales/simple_form.en.yml
en:
  simple_form:
    error_notification:
      default_message: "A custom message:"
Run Code Online (Sandbox Code Playgroud)

但我仍然得到"请回顾下面的问题:"

有谁知道我做错了什么?

ruby-on-rails simple-form

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

Heroku遵循:如何在Rails应用程序中处理多个数据库?

我们在Heroku上托管了一个Rails应用程序,我需要为我们的营销人员设置一些分析页面.这似乎是Heroku 关注数据库的典型用例

2个数据库将共享相同的模型类,我只想要一些操作来查询复制的数据库.

在我的应用程序中处理这种情况的首选方法是什么?

ActiveRecord :: Base文档讨论了特定于类的连接:

您还可以设置特定于类的连接.例如,如果Course是ActiveRecord :: Base,但驻留在不同的数据库中,则可以说Course.establish_connection和Course及其所有子类将使用此连接.

我应该将所有模型类子类化以指定与辅助数据库的连接吗?(它会工作吗?)

我也发现了这个宝石,但它似乎不再维护.... magic_multi_connections gem

ruby-on-rails heroku multiple-databases

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

如何更改UIView zPosition?

我不明白如何更改视图的zPosition,我尝试这个但没有任何反应:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)] autorelease];
    view.backgroundColor = [UIColor blackColor];
    view.layer.zPosition = -400;
    [self.view addSubview:view];
}
Run Code Online (Sandbox Code Playgroud)

在CALayer文档中,它没有说在使用此属性之前应该做任何事情.有谁知道我错过了什么?

谢谢,文森特.

iphone core-animation

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

FBConnect:Facebook认证屏幕没有重定向到我的应用程序

我从最新的facebook ios SDK下载了示例应用程序.我在facebook init中设置我的appId,在URL方案中设置appId.

当我运行应用程序时,它会打开Facebook应用程序,并显示一条消息"您已经授权此应用程序,单击确定".

当我点击确定,它只是留在Facebook应用程序,重定向不起作用...

你知道我错过了什么吗?

谢谢,文森特.

iphone facebook

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

如何在加载HTMLString的UIWebView中提交表单:baseURL:?

大井,

我正在显示一个html页面,其中包含一个带有一些输入文本字段和一个提交按钮的表单.

  • 如果我使用loadRequest显示页面:一切正常.
  • 如果我使用loadHTMLString显示相同的页面:baseURL:提交按钮不再起作用.

应该被称为的地址是:

HTTP://..../lire.php ID = 33570#bloc_commentaire

如果我记录地址,它试图达到我得到:

applewebdata:// BF6F3D92-9F36-40CA-A3EB-BCD3F14852B6#bloc_commentaire

您是否知道我应该怎么做才能发布使用loadHTMLString静态加载的表单:baseURL :?

谢谢,文森特

forms iphone objective-c uiwebview

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

使用CGContextDrawPDFPage进行PDF渲染:找不到CropBox

我需要显示从Web服务收到的PDF文件的内容.

我的问题是所有PDF框都返回相同的值.你知道我正在使用的文件有什么问题吗?

CGPDFPageRef drawPDFPageRef = CGPDFPageRetain( CGPDFDocumentGetPage(pdf, 1) );
CGRect cropBoxRect = CGPDFPageGetBoxRect(drawPDFPageRef, kCGPDFCropBox);
CGRect mediaBoxRect = CGPDFPageGetBoxRect(drawPDFPageRef, kCGPDFMediaBox);
Run Code Online (Sandbox Code Playgroud)

cropBoxRect =(0,0,595,842)mediaBoxRect =(0,0,595,842)

当我在UIWebView中显示PDF时,内容正常

这是由UIWebView呈现的PDF

在此输入图像描述

这是CGContextDrawPDFPage呈现的PDF

在此输入图像描述

谢谢你的帮助,文森特

pdf core-graphics objective-c ipad

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

CATransaction(仍然)不动画

我有一个与此非常相似的问题:

CATransaction不动画

我只是想尝试使用CATransaction为视图层设置动画.我的问题是变换立即应用于视图.

我尝试使用performSelector执行动画:withObject:afterDelay:没有成功.

这是我的代码:

- (void)viewDidLoad {
    [super viewDidLoad];

 view = [[[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)] autorelease];
 view.backgroundColor = [UIColor blackColor];
 [self.view addSubview:view];

 [self performSelector:@selector(animateView) withObject:nil afterDelay:0.1];
}

-(void) animateView {
 [CATransaction begin];
 [CATransaction setValue:[NSNumber numberWithFloat:3.0f] forKey:kCATransactionAnimationDuration];
    CALayer *layer = view.layer;
    layer.position = CGPointMake(20, 
         300);
    CATransform3D transform = CATransform3DMakeScale(2.0f, 2.0f, 1.0f);
    transform = CATransform3DRotate(transform, acos(-1.0f)*1.5f, 1.5f, 1.5f, 1.5f);
    layer.transform = transform;
    [CATransaction commit];
}
Run Code Online (Sandbox Code Playgroud)

有谁知道出了什么问题?

谢谢,文森特.

iphone core-animation

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

存储facebook令牌以进行离线访问

我正在寻找一种方法来保存访问令牌,以允许用户在Facebook上发布,而无需登录每次调用图API:

我需要一个offline_access令牌,我将它存储在NSUserDefaults中,但当我再次尝试使用它时,我得到一个FacebookErrDomain错误10000

这是我做的:

在fbDidLogin中,我获取access_token并将其保存在用户默认值中

- (void)fbDidLogin {
    NSString *token = self.facebook.accessToken;
    [[NSUserDefaults standardUserDefaults] setObject:token forKey:@"facebookToken"];

}
Run Code Online (Sandbox Code Playgroud)

之后当我再次运行应用程序时,我只是从用户默认值中获取令牌,并将它们分配给facebook对象:

NSString *token = [[NSUserDefaults standardUserDefaults] objectForKey:@"facebookToken"];
[_facebook setAccessToken:token];
Run Code Online (Sandbox Code Playgroud)

但它不起作用..

有谁知道我可能做错了什么?

谢谢,文森特.

编辑:如果我[[NSUserDefaults standardUserDefaults] objectForKey:@"facebookToken"];看到令牌被保存后我做了一个NSlog .

iphone facebook objective-c

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

OCMock - 如何期待nsarray的内容

我想测试我在数据库中插入的值是否会发送回我的类的委托.

我试图模拟委托,并期望我用来填充数据库的数组.它失败是因为2 NSArray具有相同的内容但是是不同的对象.

我已经尝试在我的模型上实现isequal和hash方法,但没有成功.

这是错误日志:

'OCMockObject[NewsListViewController]: unexpected method invoked: service:<RSSService-0x4c25b90-324400011.636966: 0x4c25b90> didFinishParsingRSSWithItems:(
    description102362,
    description102362,
    description102362,
    description102362,
    description102362
) 
    expected:   service:<OCMAnyConstraint: 0x4c10f30> didFinishParsingRSSWithItems:(
    description102362,
    description102362,
    description102362,
    description102362,
    description102362
)'
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

这是我的测试:

- (void) testServiceShouldNotLoadArticlesFromRSSFeedIfArticlesInDatabase {
    NSArray *fakeArticles = [TestUtils createArticles:5];
    [[DatabaseManager sharedManager] saveArticles:fakeArticles];

    RSSService *mockService = [OCMockObject partialMockForObject:service];
    id mockDelegate = [OCMockObject mockForClass:NewsListViewController.class];
    [[mockDelegate expect] service:[OCMArg any] didFinishParsingRSSWithItems:fakeArticles];
    mockService.delegate = mockDelegate;

    [mockService loadAllArticles];
    [mockService verify];
    [mockDelegate verify];
}
Run Code Online (Sandbox Code Playgroud)

这是我正在测试的方法:

- (void) loadAllArticles {
    NSArray *articles = [self articlesFromDatabase];
    [self.delegate service:self …
Run Code Online (Sandbox Code Playgroud)

objective-c ocmock

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

validates_acceptance_of terms复选框和Facebook连接

你怎么能强迫facebook连接条款和条件接受?

在我的OmniauthCallbacksController我尝试过

@user_ipad.terms = true
Run Code Online (Sandbox Code Playgroud)

用户的验证仍然失败,用户被重定向到sign_up表单并显示错误消息.

/应用程序/控制器/ OmniauthCallbacksController

      @user_ipad = UserIpad.new(:password => Devise.friendly_token[0,20])
      @user_ipad.update_with_facebook_infos(omniauth)
      @user_ipad.authentication_ways.build(:provider => omniauth['provider'], :uid => omniauth['uid'])
      @user_ipad.terms = true

      if @user_ipad.save()
        sign_in_and_redirect @user_ipad, :event => :authentication
      else
        session["devise.facebook_data"] = omniauth
        render :action=>'new', :controller=>'user_ipads', :layout => 'empty_layout'
      end
Run Code Online (Sandbox Code Playgroud)

/应用程序/模型/用户

  attr_accessible :terms
  ...
  validates_acceptance_of :terms, :allow_nil => false, :message => "Vous devez accepter les conditions générales d'utilisation", :on => :create
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,文森特

facebook ruby-on-rails devise

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