小编mku*_*use的帖子

nvidia-docker :未知的运行时指定 nvidia

安装 docker-ce 后,我尝试安装 nvidia-docker。我按照这个:https : //github.com/NVIDIA/nvidia-docker安装 nvidia-docker。它似乎已正确安装。

我试着跑:

$ sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
docker: Error response from daemon: Unknown runtime specified nvidia.
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)

虽然,这有效(没有 --runtime=nvidia):

$ docker container run -ti ubuntu bash
Run Code Online (Sandbox Code Playgroud)

我的系统上的一些附加信息:它是一个带有 8 个 GPU(Titan Xp)和 nvidia 驱动程序版本 387.26 的 ubuntu 服务器 16.04。我可以在主机系统上运行 nvidia-smi -l 1 并且它按预期工作。

$ dpkg -l | grep -E '(nvidia|docker)'
ii  docker-ce                              18.06.1~ce~3-0~ubuntu                        amd64        Docker: the open-source application container engine
ii  libnvidia-container-tools              1.0.0-1                                      amd64        NVIDIA container runtime …
Run Code Online (Sandbox Code Playgroud)

docker nvidia-docker

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

使用OpenMP减少

我试图使用openmp计算2d矩阵的平均值.这个2d矩阵实际上是一个图像.

我正在进行线程划分数据.例如,如果我有N个线程,则使用thread0处理Rows/N个行,依此类推.

我的问题是我可以使用openmp减少条款"#pragma omp parallel"吗?就像是

#pragma omp parallel reduction( + : sum )
{
    if( thread == 0 )
       bla bla code 
       sum = sum + val;

    else if( thread == 1 )
       bla bla code
       sum = sum + val;
}
Run Code Online (Sandbox Code Playgroud)

openmp

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

Opencv2 cvtColor()不起作用

我在Ubuntu 12.04上使用OpenCV2.我可以成功运行图像读取显示代码.但是我无法运行具有内置函数的代码,例如.cvtColor()

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <stdio.h>

int main(int argc, char *argv[])
{
    cv::Mat image = cv::imread("img.jpg");

    if( image.data == NULL )
    {
        printf( "file cannot be loaded\n");
        return 1;
    }

    cv::namedWindow("My");
    cv::imshow("My", image);

    cv::Mat result;
    cv::cvtColor(image, result, CV_BGR2Luv);

    cv::imwrite("outImg.jpg", result);

    cv::waitKey(0);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我使用Qt-creator作为我的OpenCV使用--libs编译后, - cflags我得到以下编译器错误:

make: Entering directory `/home/swaroop/Work/ai-junkies/cuda/uc_davis/opencv2.x/OpenCV2Test'
g++ -g -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I/usr/include/opencv -I. -o main.o main.cpp
main.cpp: In function 'int main(int, char**)': …
Run Code Online (Sandbox Code Playgroud)

qt opencv

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

如何在 html 中使用外部 Javascript 类?

我有一个 .js 文件,其中定义了一个类。我想从<script>另一个 html 文件调用这个类。

组件.js:

class TryClass {
  constructor(name) {
    this.name = name;
  }

  sayHi() {
    alert( this.name );
  }
}
Run Code Online (Sandbox Code Playgroud)

主要.html:

<html>
<script src="./component.js" />

<script>
var user = new TryClass( "John" );
user.sayHi();
</script>

<body>
</body>
Run Code Online (Sandbox Code Playgroud)

当我加载 main.html (从我的网络服务器)时,这不会显示警报。但是,通过检查控制台,我可以使用 TryClass。

如何解决这个问题?

javascript

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

图像使用OpenCV拼接细节

我想深入缝合.我在用cv::detail.

我试着效仿这个例子:

我粗略地了解拼接管道.

有一个matchesGraphAsString()返回图形的函数.我想知道它是如何计算这个图的.此外,在这种情况下,置信区间的限定是什么.

输出采用DOT格式,示例图如下

graph matches_graph{
"15.jpg" -- "13.jpg"[label="Nm=75, Ni=50, C=1.63934"];
"15.jpg" -- "12.jpg"[label="Nm=47, Ni=28, C=1.26697"];
"15.jpg" -- "14.jpg"[label="Nm=149, Ni=117, C=2.22011"];
"11.jpg" -- "13.jpg"[label="Nm=71, Ni=52, C=1.77474"];
"11.jpg" -- "9.jpg"[label="Nm=46, Ni=37, C=1.69725"];
"11.jpg" -- "10.jpg"[label="Nm=87, Ni=73, C=2.14076"];
"9.jpg" -- "8.jpg"[label="Nm=122, Ni=99, C=2.21973"];
}
Run Code Online (Sandbox Code Playgroud)

是什么label,NmNi这里的意思?官方文件似乎缺乏这些细节.

c++ opencv opencv-stitching

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

为什么我在GLFW3中得到2个回调 - OpenGL

我正在使用GLFW3来处理OpenGL3.3 +的窗口.一切正常,但是我不明白为什么每当我按下A键时它会打印"A press"两次.特别是我希望它只能打印1次按键A.

static void My_Key_Callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
    if( key == 'A' )
    {
        std::cout<< "A pressed\n";
        return;
    }
}


int main( int argc, char ** argv )
{
    // --1-- Initialise GLFW
    if( glfwInit() == false )
    {
        std::cerr << "Failed to initialize GLFW3\nQuiting....\n";
        exit(1);
    }


    // --2-- Create Window
    glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; …
Run Code Online (Sandbox Code Playgroud)

glfw opengl-3

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

将OpenCV Mat与标量元素进行比较

我有cv::Mat A,有CV_32F.但它保存整数值,如1,2 .... 100.我想形成一个大小相同的面具A.

但是如果A(x,y)不等于5(假设),则掩码必须包含零.如果A(x,y)等于5(假设),则掩码必须包含1.

我想稍后将其用作ROI.

c++ opencv roi mask elementwise-operations

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

ROS 自定义消息与 sensor_msgs/Image Publisher

我有一个自定义的 .msg 文件 MyImage.msg

sensor_msgs/Image im
float32 age
string name
Run Code Online (Sandbox Code Playgroud)

我已经配置了自定义 .msg 文件,如链接所示:CreatingMsgAndSrv

此外,我正在尝试使用此 msg 编写一个简单的发布者。

#include <ros/ros.h>

#include <custom_msg/MyImage.h>
#include <image_transport/image_transport.h>


#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <cv_bridge/cv_bridge.h>



int main( int argc, char ** argv )
{
    ros::init(argc, argv, "publish_custom");
    ros::NodeHandle nh;

    ros::Publisher pub2 = nh.advertise<custom_msg::MyImage>("custom_image", 2 );

    cv::Mat image = cv::imread( "Lenna.png", CV_LOAD_IMAGE_COLOR );
    sensor_msgs::ImagePtr im_msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg();

    ros::Rate rate( 2 );

    while( ros::ok() )
    {
        ROS_INFO_STREAM_ONCE( "IN main loop");


        custom_msg::MyImage msg2;
        msg2.age=54.3;
        msg2.im = im_msg; …
Run Code Online (Sandbox Code Playgroud)

ros

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

std :: map使用迭代器查找距离,程序不会终止

当我编译(g++ -std=c++14 map.cpp)并运行该程序时,它似乎没有终止。谁能解释为什么?但是,当我确实找到('a')而不是'c'时,它给出了零。

#include <iostream>
#include <string>
#include <vector>
#include <map> 
#include <algorithm>
using namespace std; 



int main()
{
    map<char, float> m;
    m['a'] = 3.4;
    m['b'] = 5.3;
    m['c'] = 33.3;
    m['d'] = 43.;

    auto it = m.find( 'c' );
    cout << "distance : " << std::distance( it , m.begin() ) << endl;

}

Run Code Online (Sandbox Code Playgroud)

c++ iterator distance stdmap range

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

如何在OpenCV2中使用cv :: Point找到中间点

我有两个cv::Point2f,像 -

cv::Point2f a = cv::Point2f( 2.34, 6.2 );
cv::Point2f b = cv::Point2f( 8.34, 16.2 );
Run Code Online (Sandbox Code Playgroud)

现在,我想找到a和b的中点.

cv::Point2f midi = (a+b)/2;
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.有什么工作吗?

opencv

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

指示CMake为多个Boost安装选择正确的版本

我使用的是Ubuntu 12.04.我的系统给出了Boost 1.46.由于我不得不使用boost lockfree队列,我尝试从官方Boost网站安装1.59.因此,我实际上安装了2个版本的boost.系统默认安装在/ usr/local中安装的/ usr /&version 1.59中.

我有一个使用cmake的代码库.它是一个相当大的代码库.我怀疑CMake仍在关注版本1.46.我应该修复它以查看/ usr/local中的版本1.59.

我的CMakeFiles(仅限相关部分):

find_package(Boost 1.59 EXACT REQUIRED COMPONENTS system thread date_time)
include_directories(${Boost_INCLUDE_DIRS})
find_package(Threads REQUIRED)

target_link_libraries( hello_node
                       ${Boost_THREAD_LIBRARY}
                       ${catkin_LIBRARIES}
                       boost_system
                       boost_thread
                       rt
                       boost_date_time
)

target_link_libraries( dgem
                       ${Boost_THREAD_LIBRARY}
                       ${catkin_LIBRARIES}
                       boost_system
                       boost_thread
                       rt
                       boost_date_time
)
Run Code Online (Sandbox Code Playgroud)

有了这个,cmake似乎使用/ usr/include(即旧版本的boost).

boost cmake

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

在Ubuntu 12.04上使用Qmake的CUDA

我试图在Ubuntu 12.04上使用CUDA代码与Qt一起工作

我的cuda_interface.cu

// CUDA-C includes
#include <cuda.h>


extern "C"
void runCudaPart();

// Main cuda function

void runCudaPart() {

// all your cuda code here *smile*

}
Run Code Online (Sandbox Code Playgroud)

我的main.cpp #include

extern "C"
void runCudaPart();

int main(int argc, char *argv[])
{
    runCudaPart();
}
Run Code Online (Sandbox Code Playgroud)

我的简历

#-------------------------------------------------
#
# Project created by QtCreator 2013-04-17T10:50:37
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = QtCuda
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp


# This makes the .cu files appear …
Run Code Online (Sandbox Code Playgroud)

qmake cuda

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

Eigen::MatrixXf 的 boost::lockfree 队列

我正在尝试创建boost::lockfree::queue以下示例: http://www.boost.org/doc/libs/1_54_0/doc/html/lockfree/examples.html

\n\n

我可以成功地为 int (整数数据类型)创建它。但是,我很难为 Eigen::MatrixXf 创建队列。队列声明于SolveDGEM.h

\n\n
boost::lockfree::queue<Eigen::MatrixXf> q_cam0;\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到以下我无法理解的编译器错误

\n\n
In file included from /home/eeuser/ros_workspaces/HeloRosProject/src/visensor_dgem/include/SolveDGEM.h:38:0,\n                 from /home/eeuser/ros_workspaces/HeloRosProject/src/visensor_dgem/src/dgem.cpp:4:\n/usr/local/include/boost/lockfree/queue.hpp: In instantiation of \xe2\x80\x98boost::lockfree::queue<Eigen::Matrix<float, -0x00000000000000001, -0x00000000000000001> >\xe2\x80\x99:\n/home/eeuser/ros_workspaces/HeloRosProject/src/visensor_dgem/include/SolveDGEM.h:76:45:   instantiated from here\n/usr/local/include/boost/lockfree/queue.hpp:86:1: error: invalid application of \xe2\x80\x98sizeof\xe2\x80\x99 to incomplete type \xe2\x80\x98boost::STATIC_ASSERTION_FAILURE<false>\xe2\x80\x99 \n/usr/local/include/boost/lockfree/queue.hpp: In instantiation of \xe2\x80\x98boost::lockfree::queue<Eigen::Matrix<float, -0x00000000000000001, -0x00000000000000001> >\xe2\x80\x99:\n/home/eeuser/ros_workspaces/HeloRosProject/src/visensor_dgem/include/SolveDGEM.h:76:45:   instantiated from here\n/usr/local/include/boost/lockfree/queue.hpp:90:1: error: invalid application of \xe2\x80\x98sizeof\xe2\x80\x99 to incomplete type \xe2\x80\x98boost::STATIC_ASSERTION_FAILURE<false>\xe2\x80\x99 \n
Run Code Online (Sandbox Code Playgroud)\n

c++ boost eigen eigen3

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