小编skm*_*skm的帖子

转换为字符串的字符是打印奇怪的值C++

我得到一个数组形式的字符,然后我将其转换为字符串.如果我以字符串形式打印它,则在打印所需字符后打印出奇怪的东西.

char array[2];

array[0] = 'A';
array[1] = 'B';

string name( array );
cout<<"In string format: "<<name;
Run Code Online (Sandbox Code Playgroud)

c++ string

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

为什么我在 C++ 中得到“nan”值?

我正在为图像制作相关图。对于每个像素,相关图会在一定的距离 d 范围内找到相同颜色的像素。相关图是一个二维矩阵,即correlogram[color][distance]。相关图的计算与直方图的计算有些相似。

我的代码: 我发布了代码的一些主要部分,其中所有计算都在进行。其余代码(我没有发布)用于满足其他条件,因此不是必需的。

问题:在我的期末考试中correlogram[][],有些值为“nan”。我已经检查了代码,但我无法找到我的计算/语法中的问题所在。

int ColorBins = 180;
int DistanceRange = 5;

double calcCorrelogram(Mat hsvImage)
{
    double correlogram[ColorBins][DistanceRange];
    int pixelNum[ColorBins]; //Used to count the number of pixels of same color

    Mat hsvPlanes[3];
    split(hsvImage, hsvPlanes);

    for(int pi=0; pi<hsvImage.rows; pi++)
    {
        for(int pj=0; pj<hsvImage.cols; pj++)
        {
            int pixelColor = (int)hsvPlanes[0].at<uchar>(pi,pj);
            pixelNum[pixelColor]++; 

            for(int d=1; d<=DistanceRange; d++)
            {
                int sameColorNum=0; //* number of pixels with same color in the d-distance boundary */
                int totalBoundaryNum=0; //* total number …
Run Code Online (Sandbox Code Playgroud)

c++ opencv

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

决定图像处理的 CUDA 线程和块

亲爱的反对者:请告诉我反对票的原因。我已经接受了一个答案,这意味着该人能够理解问题并且不需要最小的工作示例。其次,我希望它是一个概念问题,而不是一个家庭作业问题。请告诉我您投反对票的原因。

重要提示:我已经阅读了几个关于线程和块的分布的线程(例如this ),但我有一个特定的查询。

我必须unsigned char在 GPU 上处理形式的图像数据。我的图像大小(1080 x 1920)为 3 个通道,每个像素都是unsigned char类型。

GPU详细信息

NVIDIA Quadro k2000
2 GB of GDDR5 GPU memory
384 5MX CUDA parallel processing cores
Run Code Online (Sandbox Code Playgroud)

由于我是 GPU 处理新手,因此我无法了解在这种特定情况下我的 GPU 卡的每个块的线程数和块分布总数。

问题:当我对图像使用以下配置(1080 x 1920)来调用 GPU 内核时,我得到了所需的结果,但计算时间太多

dim3 numOfBlocks( (108) , (192) ); 
dim3 numOfThreadsPerBlocks( 3*10 , 3*10 ); //multiplied by 3 because we have 3 channel image now

colorTransformation_kernel<<<numOfBlocks, numOfThreadsPerBlocks>>>(numChannels, step_size, iw, …
Run Code Online (Sandbox Code Playgroud)

c++ cuda image-processing

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

没有模块名称“ Keras”

我对深度学习的发展绝对是陌生的,目前,我只是在准备系统以开始一些基础教程。

我遵循了此博客上的教程,为深度学习项目的开发准备了环境。

我成功地完成了教程中提到的最后一个步骤。我tensorflow-gpu使用pip install tensorflow-gpuPython 3.7 Anaconda中的命令安装。

在此处输入图片说明

问题:按照教程,我应该尝试执行以下命令来检查安装是否一切正常:

>>> import tensorflow
>>> import keras
Run Code Online (Sandbox Code Playgroud)

执行第一个命令没有任何问题,但是第二个命令(即import keras)抛出错误:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module names 'keras'
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

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

typedef openCV的Size()

这可能是一个非常基本的问题,但我对此很困惑.

我可以使用以下代码行初始化大小(3266 x 2450)的图像:

Mat image(   Size(3266, 2450) , CV_8UC3   );
Run Code Online (Sandbox Code Playgroud)

但我需要对几种不同类型的图像进行一些测试,所以,我想做一个typedef.

我需要有一个typedef可以提供不同大小的声明...类似于以下内容,但即使在搜索之后,我也找不到正确的语法.

typedef cv::Size(2048, 1536) 3MP
typedef cv::Size(2464, 1632) 4MP
typedef cv::Size(3266, 2450) 8MP
Run Code Online (Sandbox Code Playgroud)

重要提示:如果typedef不是解决方案.请建议对于不同的图像使用类似下面的内容可能的解决方案:

Mat image(   8MP , CV_8UC3   );
Run Code Online (Sandbox Code Playgroud)

c++ opencv

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

使用CUDA在GPU上进行图像处理的多线程

问题陈述: 我必须连续处理从相机捕获的8百万像素图像。上面必须有几种图像处理算法,例如颜色插值,颜色转换等。这些操作在CPU上将花费很长时间。因此,我决定使用CUDA内核在GPU上执行这些操作。我已经编写了可工作的CUDA内核用于颜色转换。但是我仍然需要进一步提高性能。

基本上有两个计算时间:

  1. source image从CPU 复制到GPU,反之亦然
  2. source imageGPU的处理

当图像从CPU复制到GPU时...。同样,当在GPU上处理图像时,其他任何事情都不会发生。

我的想法:我想进行多线程处理,以便节省时间。我想在GPU上进行前一张图像的处理时捕获下一张图像。并且,当GPU完成前一个图像的处理时,下一个图像已经在那里,可以将其从CPU传输到GPU。

我需要什么:我对多线程世界完全陌生。我正在看一些教程和其他一些东西,以了解更多有关它的信息。因此,我正在寻找有关适当步骤和适当逻辑的一些建议。

c++ multithreading

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

如何在C++程序中使用Eigen?

我阅读了Eigen 安装的文档。根据文档,您的项目中只需要引用头文件。如下图所示,我将 Eigen 的路径包含在包含目录中,但程序无法识别 Eigen。

在此输入图像描述

示例代码

#include <iostream>
#include <Eigen/Dense>

using Eigen::MatrixXd;

int main()
{
    MatrixXd m(2, 2);
    m(0, 0) = 3;
    m(1, 0) = 2.5;
    m(0, 1) = -1;
    m(1, 1) = m(1, 0) + m(0, 1);
    std::cout << m << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

如何正确地将 Eigen 包含到我的 C++ 项目中?

c++ eigen

-7
推荐指数
1
解决办法
100
查看次数