小编jyt*_*nto的帖子

断言失败(size.width> 0 && size.height> 0)

2.4.7按照本教程使用Visual Studio Express 2013和OpenCV .

我花了几个小时在网上搜索解决方案,包括所有相关的SO问题.我试过了:

  • 返回值为VideoCapture::open 1

  • 将waitKey()延迟延长到50ms,然后延迟500ms

  • 设置窗口的尺寸

  • 在Visual C++上创建另一个项目

  • 打开现有图像而不是从相机读取(相同的错误)

但没有运气,请帮忙!

这是我的代码:

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <iostream>

using namespace std;
using namespace cv;

int main() {
    Mat image;

    VideoCapture cap;
    int camOpen = cap.open(CV_CAP_ANY);

    namedWindow("window", CV_WINDOW_AUTOSIZE);

    while (true) {
        cap >> image;

        imshow("window", image);

    // delay 33ms
    waitKey(33);        
    }

}
Run Code Online (Sandbox Code Playgroud)

当我编译并运行它时,我收到以下错误:

OpenCV错误:cv :: imshow中的断言失败(size.width> 0 && size.height> 0),文件........\opencv\modules\highgui\src\window.cpp,第261行

该行发生错误 imshow("window", image);.当我评论它时,没有任何抱怨.


更新:

这个错误发生原因的合理解释是我的网络摄像头需要时间来启动,这就是为什么image.empty()最初是真的,因此调用abort()函数来退出程序.

随着代码

if (!image.empty()) {
    imshow("window", image);
} …
Run Code Online (Sandbox Code Playgroud)

c++ opencv visual-studio visual-c++

18
推荐指数
1
解决办法
5万
查看次数

Rails 3.2.13:路由错误(没有路由匹配[GET]"/ stylesheets/application.css")

更新

以下是我的应用中"资产"的搜索结果(不包括日志).

./app/assets/javascripts/application.js:4:此目录中的任何JavaScript/Coffee文件,lib/assets/javascripts,vendor/assets/javascripts,

插件的./app/assets/javascripts/application.js:5或者vendor/assets/javascripts,如果有的话,可以使用相对路径在这里引用.

./app/assets/stylesheets/application.css:5:*此目录中的任何CSS和SCSS文件,lib/assets/stylesheets,vendor/assets/stylesheets,

./app/assets/stylesheets/application.css:6:*或插件的供应商/资产/样式表(如果有)可以使用相对路径在此处引用.

./config/application.rb:7:#如果在部署到生产之前预编译资产,请使用此行

./config/application.rb:8:Bundler.require(*Rails.groups(:assets =>%w(开发测试)))

./config/application.rb:9:#如果你想在生产中懒洋洋地编译你的资产,请使用这一行

./config/application.rb:10:#Bundler.require(:default,:assets,Rails.env)

./config/application.rb:54:#启用资产管道

./config/application.rb:55:config.assets.enabled = true

./config/application.rb:57:#您的资产版本,如果您想要使所有资产到期,请更改此项

./config/application.rb:58:config.assets.version ='1.0'

./config/environments/development.rb:9:config.assets.enabled = false

./config/environments/development.rb:34:#不要压缩资产

./config/environments/development.rb:35:config.assets.compress = false ./config/environments/development.rb:37:#扩展加载资产的行

./config/environments/development.rb:38:config.assets.debug = true

./config/environments/production.rb:11:#禁用Rails的静态资产服务器(Apache或nginx已经这样做了)

./config/environments/production.rb:12:config.serve_static_assets = true

./config/environments/production.rb:15:config.assets.compress = true

./config/environments/production.rb:17:#如果错过了预编译资产,请不要回退到资产管道

./config/environments/production.rb:18:config.assets.compile = true

./config/environments/production.rb:20:#为资产URL生成摘要

./config/environments/production.rb:21:config.assets.digest = true

./config/environments/production.rb:23:#默认为Rails.root.join("public/assets")

./config/environments/production.rb:24:#config.assets.manifest = YOUR_PATH

./config/environments/production.rb:45:#从资产服务器启用图像,样式表和JavaScripts的服务

./config/environments/production.rb:46:#config.action_controller.asset_host =" http://assets.example.com "

./config/environments/production.rb:48:#预编译其他资产(application.js,application.css和所有非JS/CSS已经添加)

./config/environments/production.rb:49:#config.assets.precompile + =%w(search.js)

./config/environments/test.rb:10:#为具有Cache-Control性能的测试配置静态资产服务器

./config/environments/test.rb:11:config.serve_static_assets = true

./Gemfile:30:# Gems仅用于资产而不是必需的

./Gemfile:32:group:assets do ./README.rdoc:159:| | - 资产

./README.rdoc:192:| - assets ./README.rdoc:199:app/assets

我也尝试在原始html中包含资产标签<script src="assets/application.js"></script>,但是它也没有用.


我正在开发一个Rails 3.2.13 …

ruby-on-rails

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

安装mysql的Rails - 安装mysql2时出错:错误:无法构建gem原生扩展

我有一个Rails 3.2.13我想部署的应用程序,但托管服务需要MySQL,而不是我一直在使用的sqlite.

在从转换的过程中sqliteMySQL,我必须安装红宝石的宝石mysql2,这是给我安装时出现以下错误:

安装mysql2时出错:错误:无法构建gem原生扩展.

我同时尝试了两种bundle install方法gem install mysql2,但是出现了同样的错误信息.

我知道对许多人有用的解决方案是sudo apt-get install libmysql-ruby libmysqlclient-dev,但我在Windows上使用Git Bash ,所以我发现了Windows等价物(@ francois对这个问题的回答).我安装MySQL Server 5.6了安装程序,并运行以下命令:

gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.6\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.6\include"' 
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,这应该成功安装'mysql2'ruby gem.但奇怪的是,我仍然有以下错误:

    Temporarily enhancing PATH to include DevKit... Building native extensions with: '--with-mysql-lib="c:\Program
Run Code Online (Sandbox Code Playgroud)

Files\MySQL\MySQL Server 5.6\lib"--with-mysql -include ="c:\ Program Files\MySQL\MySQL Server 5.6\i nclude"'这可能需要一段时间...错误:安装mysql2时出错:ERROR :无法构建gem原生扩展.

        c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb --with-mysql-lib="c:\Pro gram Files\MySQL\MySQL Server …
Run Code Online (Sandbox Code Playgroud)

ruby mysql sqlite deployment ruby-on-rails

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

Rails 4.0.0,Neo4j - Bundler找不到gem"railties"的兼容版本

我已经安装了jruby并试图将Neo4j用于我的Rails应用程序.但是输入bundle install会给我带来以下冲突.

Bundler找不到gem"railties"的兼容版本:在Gemfile中:neo4j(> = 2.2.3)java依赖于栏目(<3.3,> = 3.0.0)java

rails(= 4.0.0)java取决于railties(4.0.0)

这是我的gemfile:

source 'https://rubygems.org'

gem 'rails', '4.0.0'
gem 'sass-rails'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails'
gem 'therubyrhino'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'

group :doc do
  gem 'sdoc', require: false
end
gem 'bcrypt-ruby', '~> 3.0.0'
gem 'unicorn'
gem 'capistrano', group: :development

group :development, :test do
  gem "rspec-rails"
end

gem "neo4j", ">= 2.2.3"
Run Code Online (Sandbox Code Playgroud)

我应该删除我的Gemfile.lock并运行bundle update吗?谢谢!

ruby gem ruby-on-rails neo4j

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