假设我有一个处理TODO列表的应用程序.该清单已完成和未完成的项目.现在我想向列表对象添加两个虚拟属性; 列表中已完成和未完成的项目数.我还需要在json输出中显示这些.
我的模型中有两个方法可以获取未完成/已完成的项目:
def unfinished_items
self.items.where("status = ?", false)
end
def finished_items
self.items.where("status = ?", true)
end
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能在json输出中得到这两个方法的计数?
我正在使用Rails 3.1
我在iPhone上使用OpenCV,需要检测图像中的数字.我将图像分割成较小的图像,因此每个图像只有一个数字(1-9).所有数字都是打印的,不是手写的.
用OpenCV算出数字的最佳方法是什么?
更新:
我已成功找到数字并将其提取出来.它们看起来像这样:
http://img198.imageshack.us/img198/5671/101ht.jpg
http://img824.imageshack.us/img824/539/606yu.jpg
提取它们时,它们的大小相同,依此类推.我已经保存了一堆图像并将它们放在OCR目录中,在那里它们被分类为数字.喜欢:ocr/1/100.jpg 101.jpg ....和ocr/2/200.jpg 201.jpg ....
然后我将使用与Basic OCR教程相同的方法:http://blog.damiles.com/?p = 93
但是,我正在为iPhone编程,不能使用C++代码(编译时出错等),我无法访问highgui.
我尝试使用cvMatchTemplate()并匹配一堆图像,但它看起来很糟糕......
我可以尝试其他任何想法吗?
我想使用Javascript从远程图像中提取EXIF数据.它目前工作正常,但是当图像很大时它变得非常慢,因为我在提取EXIF数据之前下载了整个图像.
EXIF数据总是在图像的前128kb内(我相信)所以我真的不需要整个图像.
是否有可能以某种方式仅使用JS获取远程文件的第一个XXX kb?
我有一个应用程序拍摄照片并将其放在图像视图中.简单.代码如下所示:
- (void)takePhoto:(id)sender
{
// Lazily allocate image picker controller
if (!imagePickerController) {
imagePickerController = [[UIImagePickerController alloc] init];
// If our device has a camera, we want to take a picture, otherwise, we just pick from
// photo library
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
}else
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
// image picker needs a delegate so we can respond to its messages
[imagePickerController setDelegate:self];
}
// Place image picker on the screen
[self presentModalViewController:imagePickerController animated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker …Run Code Online (Sandbox Code Playgroud) 我正在努力让Octopress(http://octopress.org/)工作,但我遇到了一些问题.我正在使用POW(http://pow.cx/),它似乎没有为我加载正确的Ruby版本(使用RVM).
它始终使用RVM默认ruby版本,而不是.rvmrc中指定的版本.我在RVM中的默认Ruby版本是:ruby-1.9.3-p125.
在我的.rvmrc文件中,我有这个:rvm use 1.9.2
访问我的网站时,我在浏览器中收到此错误:
LoadError: cannot load such file -- bundler/setup
~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/Sites/Lejnus/lejnus/config.ru:1:in `block in <main>'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/builder.rb:4:in `instance_eval'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/builder.rb:4:in `initialize'
~/Sites/Lejnus/lejnus/config.ru:1:in `new'
~/Sites/Lejnus/lejnus/config.ru:1:in `<main>'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:50:in `eval'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:50:in `load_config'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:43:in `initialize'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:13:in `new'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:13:in `run'
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/bin/nack_worker:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)
当我的.rvmrc文件中指定1.9.2时,为什么使用1.9.3-p125?如果我将1.9.2设为默认值,它当然有效......
是不是应该为我做这个魔术并使用正确的红宝石版本?
我在Heroku使用基本数据库计划.这适用于Postgres 9.1,它支持语言环境.我在我的应用程序中排序存在问题,因为角色ÅÄÖ没有得到妥善处理(正如他们应该在瑞典).
要设置的设置是LC_COLLATE,它处理字符串排序.问题是我找不到任何方法在Heroku上设置它.创建的数据库获取lc_collate=en_US.UTF-8,但我需要将其设置为sv_SE.UTF-8.
LC_COLLATE创建数据库时无法更改此设置,因此无法通过psql控制台更改它.
那么,我该怎么设置呢?
我在iPhone上使用OpenCV.我想在照片中找到一个数独游戏.我从一些高斯模糊,自适应阈值,反转图像和扩张开始.然后我做了一些findContour和drawContour来隔离数独网格.然后我使用霍夫变换找到线条,我现在需要做的是找到网格的角落.数独照片可能会以一个角度拍摄,所以我需要找到角落,这样我才能正确裁剪和扭曲图像.
这是两张不同照片的外观.一个很直,一个角度:
概率的霍夫
http://img96.imageshack.us/i/skrmavbild20110424kl101.png/
http://img846.imageshack.us/i/skrmavbild20110424kl101.png/
(标准霍夫发表评论.我不能发布两个以上的链接)
那么,找到这些角落的最佳方法是什么?哪两种变换最容易使用?
最好的问候莱纳斯
我对如何设置开发环境有一些疑问.
我正在运行一个目前正在使用SOBI2的网站.SOBI2将被我使用Nooku Framework创建的自定义组件所取代.
到目前为止,我在本地主机上安装了Joomla.Nooku Framework和我的自定义组件在我们计算机上的自己的目录中,然后符号链接到Joomla安装.我这样做是因为在开发时将它们分开是很好的.然后使用GIT跟踪我的自定义组件,并在其公共SVN仓库中跟踪Nooku.我想这是一个非常标准的设置.
所以,现在我想将我的LIVE Joomla安装克隆到我的localhost并使用GIT跟踪它,以便能够轻松地将更改推送到我的实时服务器.现在,实时网站根本不受版本控制.
那么,我该如何轻松地做到这一点?
我想最好使用两个GIT repos,一个只包含我的自定义组件,一个包含整个站点.在开发我的自定义组件和站点时,工作流将是这样的:
我猜想必须手动处理数据库更新.
如何跟踪本地站点内的自定义组件?我听说过GIT Submodules,它用于什么?
这种东西有什么好的指南吗?
最好的问候莱纳斯
我想执行系统命令(git clone)并通过Phoenix中的通道将输出流式传输给用户?
我可以以某种方式使System.cmd流结果而不是等到它完成?
或者,我可以将输出写入文件并从那里流式传输内容,因为它正在追加?
我使用CALayer和CATextLayers在iPhone上的数独网格上布置数字.
我有一个tableView列出了一些sudokus.当我点击一个表格单元格时,它会在另一个推送到导航控制器的viewController中显示数独.
在我的- (void)viewWillAppear方法中,我称之为我的- (void)loadSudoku方法,我将在下面给你看.
问题是,当你看一个数独时,使用navigationBar中的"后退"按钮返回到表格视图,然后点击另一个数独.然后旧的数独仍然在那里,新的数字被绘制在旧的数独之上.
我想我需要以某种方式清除旧的.有任何想法吗?我确实通过实际数独网格的界面构建器设置了背景图像.我不想删除它.
绘制数独的方法如下所示:
- (void)loadSudoku
{
mainLayer = [[self view] layer];
[mainLayer setRasterizationScale:[[UIScreen mainScreen] scale]];
int col=0;
int row=0;
for(NSNumber *nr in [[self sudoku] sudoku])
{
if([nr intValue] != 0)
{
//Print numbers on grid
CATextLayer *messageLayer = [CATextLayer layer];
[messageLayer setForegroundColor:[[UIColor blackColor] CGColor]];
[messageLayer setContentsScale:[[UIScreen mainScreen] scale]];
[messageLayer setFrame:CGRectMake(col*36+5, row*42, 30, 30)];
[messageLayer setString:(id)[nr stringValue]];
[mainLayer addSublayer:messageLayer];
}
if(col==8)
{
col=0; row++;
}else
{
col++;
} …Run Code Online (Sandbox Code Playgroud)