考虑一个n数字具有最大k数字的数组(请参阅编辑).从这里考虑基数排序程序:
def radixsort( aList ):
RADIX = 10
maxLength = False
tmp, placement = -1, 1
while not maxLength:
maxLength = True
# declare and initialize buckets
buckets = [list() for _ in range( RADIX )]
# split aList between lists
for i in aList:
tmp = i / placement
buckets[tmp % RADIX].append( i )
if maxLength and tmp > 0:
maxLength = False
# empty lists into aList array
a = 0
for …Run Code Online (Sandbox Code Playgroud) 我想定义两个2d矩阵:f和f_transpose类型:std::array <std::array <float, 3>, dim>和 std::array <std::array <float, dim>, 3>.价值dim是23.
我希望元素f[0][0],f[1][1],f[2][2],f_transpose[0][0],f_transpose[1][1]和f_transpose[2][2]是1和其余元素0.
这些数组是全局变量,我尝试了以下内容:
static array <array <float, 3>, dim> f = {{{{1}}, {{0, 1}}, {{0, 0, 1}}}};
static array <array <float, dim>, 3> f_transpose = {{{{1, 0, 0}}, {{0, 1, 0}}, {{0, 0, 1}}}};
Run Code Online (Sandbox Code Playgroud)
这确实给了我1必要的地方,但应该是的一些值0是1或-1.我的理解是,任何未定义的内容都将被考虑0 …
我知道要从源代码编译和安装某些东西,在 Unix 系统中,涉及的三个步骤是:
1) ./configure
2) make
3) make install
从源码查看OpenCV的安装,发现没有./configure步骤,但是有cmake步骤。这给了我cmake相当于./configure. 我还读到cmake可以生成构建系统,例如Makefiles,这就是该./configure步骤的作用。
但是,这篇文章(参见 的第一段what is the difference?)说它也cmake执行实际构建。如果是这种情况,为什么 OpenCV 安装会指示makeafter cmake?另外,我经常看到它cmake与 相比make,而不是./configure。那么,cmake实际上适合在哪里?
我正在尝试构建一个CNN使用Torch 7. 我很新Lua。我试图点击此链接。我遇到了setmetatable以下代码块中调用的内容:
setmetatable(train_set,
{
__index = function(t, i)
return {t.data[i], t.label[i]}
end
});
Run Code Online (Sandbox Code Playgroud)
我知道第二个参数充当 table 的元表train_set。
1)是t元表还是t只是另一个名称train_set?
2)每当一个函数用于反对 时__index,解释器是否假设第一个参数(t)是一个表(或元表,取决于第一个问题的答案)?第二个参数总是 orkey吗index?
3)我的理解是,如果我使用train_set.data[1],它将调用__index. 这里的答案是当表中不存在__index时调用。key但与t.data[1]相同train_set.data[1]?如果是这样,口译员怎么知道这一点?
我正在访问RTSPVIRB 360 摄像机的视频流。我可以使用以下gstreamer命令播放流:
gst-launch-1.0 -v playbin uri=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1
Run Code Online (Sandbox Code Playgroud)
但是,流式传输存在3 秒的延迟,需要消除该延迟。上述命令的输出(由于-v)已上传至此处。我还按照此问题/答案.svg中描述的方法为管道创建了一些文件。这些文件已上传至此处。我相信并代表完整的管道(多个文件是由单个管道生成的,这就是多个文件的原因)。在文件中,可以看到下面有一个.mypipeline4.svgmypipeline5.svgdot.svg.svglatency=2000rtpjitterbuffer
计划是通过手动添加组件而不是使用 来构建相同的管道playbin,然后设置 的延迟属性rtpjitterbuffer。我尝试过以下命令:
1)gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux ! queue ! udpsink ! queue ! rtph264depay ! h264parse ! omxh264dec ! playsink
2)gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux …
我试图在单独的文件中正确声明和定义全局变量,并将它们包含在处理类声明的第三个文件中。
这三个文件是:
1) global.h
#ifndef GLOBAL_H_INCLUDED
#define GLOBAL_H_INCLUDED
extern const int marker_num;
extern const int dim;
using namespace std;
#endif // GLOBAL_H_INCLUDED
Run Code Online (Sandbox Code Playgroud)
2) global.cpp
#include <iostream>
#include <cstdio>
#include <cmath>
#include "global.h"
#include "WorldState.h"
#include "Robot.h"
#include "Sensor.h"
#include "Marker.h"
constexpr const int marker_num = 10;
constexpr const int dim = (2 * marker_num) + 3;
Run Code Online (Sandbox Code Playgroud)
3) WorldState.h
#ifndef WORLDSTATE_H
#define WORLDSTATE_H
#include "global.h"
#include "global.cpp"
class WorldState{
public:
WorldState(float a[], float b[dim][dim]);
get_wstate();
protected:
private:
float w_state[];
float covar_matrix[dim][dim]; …Run Code Online (Sandbox Code Playgroud) 我有一个C++项目,其中我有以下行:
#include <curl/curl.h>
Run Code Online (Sandbox Code Playgroud)
我正在使用该CURL库从传感器访问IMU数据.我准备了一个CMakeLists.txt看起来像这样的文件:
cmake_minimum_required(VERSION 3.5.1)
project(imu_data_access_cmake_test)
set(CMAKE_CXX_STANDARD 11)
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
set(SOURCES imu_data_access.cpp ${CURL_INCLUDE_DIRS}/curl/curl.h)
add_executable(imu_data_access_cmake_test ${SOURCES})
#add_executable(imu_data_access_cmake_test imu_data_access.cpp)
target_link_libraries(imu_data_access_cmake_test ${CURL_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)
这非常有效.但是,如果我删除该include_directories行并修改该add_executable行以仅使用my imu_data_access.cpp作为源,cmake则不会抛出错误,一切仍然有效.我假设这是由于target_link_libraries线.
如何知道是否应该使用include_directories或包含库target_link_libraries?如果包/库有一个.so文件,我们可以简单地忽略include_directories该包/库吗?
编辑:如何知道是否应该使用include_directoriesvs. 包含库target_link_libraries?
我定义了一个名为的类,该类Point将用作unordered_map. 所以,我operator==在类中提供了一个函数,我还提供了一个template specializationfor std::hash。根据我的研究,这是我认为必要的两件事。相关代码如图:
class Point
{
int x_cord = {0};
int y_cord = {0};
public:
Point()
{
}
Point(int x, int y):x_cord{x}, y_cord{y}
{
}
int x() const
{
return x_cord;
}
int y() const
{
return y_cord;
}
bool operator==(const Point& pt) const
{
return (x_cord == pt.x() && y_cord == pt.y());
}
};
namespace std
{
template<>
class hash<Point>
{
public:
size_t operator()(const Point& pt) const
{
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试从与Jetson TX1(Ubuntu 16.04)接口的 Basler 相机访问图像。我正在OpenCV-C++与Pylon图书馆一起使用这样做。我正在尝试链接Pylonusing cmake。我有以下CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.5.1)
project(basler_test)
set(CMAKE_CXX_STANDARD 14)
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl, -E")
find_package(OpenCV REQUIRED)
include_directories(/opt/pylon5/include)
link_directories(/opt/pylon5/lib64)
add_executable(basler_test basler_test.cpp)
target_link_libraries(basler_test ${OpenCV_LIBS} /opt/pylon5/include/pylon/PylonIncludes.h)
Run Code Online (Sandbox Code Playgroud)
该cmake .命令工作正常,但当我这样做时make,它给出:
fatal error: pylon/Platform.h: No such file or directory
compilation terminated
我检查了上面的文件,它确实与PylonIncludes.h. 所以,我相信这个错误是因为在CMakeLists.txt. 我没有足够的经验来创建它们来确定问题所在。请帮忙。
这是源文件的相关部分: basler_test.cpp
//This is a test program to check the functionality of Basler dart daA2500-14uc Camera.
#define saveImages 0
#define recordVideo 1 …Run Code Online (Sandbox Code Playgroud) 我对一般来说都很Teradata陌生SQL。我需要通过组合三个表中的数据来创建一个表。我能够成功地加入其中的两个。我无法正确编写第三个表的连接条件。这是代码:
select s.cola, s.colb,
t.colc, t.cold,
u.cole, u.colf, u.colg, u.colh, u.coli, u.colj, u.colk, u.coll
from table1 s
inner join table2 t
on s.colb = t.colc
inner join table3 u
on t.cold = cast(u.colm as decimal)
order by 3
where substr(cast(s.cola as varchar(10)),6,2) = 11 and substr(cast(s.cola as varchar(10)),1,4) = 2017 and substr(cast(s.cola as varchar(10)),9,2) between 06 and 10
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
[Teradata Database] [2620] The format or data contains a bad character.
我认为问题出在这一行:on t.cold = cast(u.colm as …
我知道,因为argc是参数的数量,它可以是一个int.但为什么应该argv是char pointer类型?这是否意味着我无法传递整数参数并argv[1]在数学运算中使用?
编辑:为了使它更清晰,是否可以写出像int* argv[].是否argv已定义为char*无法更改的类型?
假设我有一个Sensor如下所示的课程:
class Sensor
{
public:
Sensor();
array <float, 3> marker_pos(float, float, float);
private:
float range;
float phi;
array <float, 3> temp;
int flag = 0;
};
Run Code Online (Sandbox Code Playgroud)
变量range和phi是属性或传感器对象的变量.但变数temp和flag只是正常的变量,这些变量的函数内使用marker_pose.
1.在课程中定义/声明temp和flag内部是不好的做法?
2.如果我在函数内定义/声明它们marker_pose,每次调用该函数时都会定义它.这是一个好主意吗?
3.在这种情况下,最佳做法是什么?
c++ ×6
cmake ×3
c++11 ×2
class ×2
algorithm ×1
char ×1
curl ×1
definition ×1
gstreamer ×1
h.264 ×1
hashmap ×1
header ×1
inner-join ×1
linker ×1
lua ×1
lua-table ×1
makefile ×1
matrix ×1
metatable ×1
opencv ×1
pipeline ×1
python ×1
radix-sort ×1
rtp ×1
rtsp ×1
sorting ×1
sql ×1
stdarray ×1
teradata ×1
torch ×1
variables ×1