Произошел сбой программы во время ошибки визуализации PCL - PullRequest
0 голосов
/ 07 августа 2020

Я новичок в PCL (библиотека Point Cloud). Я использовал универсальный установщик по умолчанию для установки PCL. Версия Visual Studio - 2019. Теперь я хочу запустить простой код визуализации PCD, подобный этому : '' '

#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>

int user_data;

void
viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
    viewer.setBackgroundColor(1.0, 0.5, 1.0);
    pcl::PointXYZ o;
    o.x = 1.0;
    o.y = 0;
    o.z = 0;
    viewer.addSphere(o, 0.25, "sphere", 0);
    std::cout << "i only run once" << std::endl;

}

void
viewerPsycho(pcl::visualization::PCLVisualizer& viewer)
{
    static unsigned count = 0;
    std::stringstream ss;
    ss << "Once per viewer loop: " << count++;
    viewer.removeShape("text", 0);
    viewer.addText(ss.str(), 200, 300, "text", 0);

    //FIXME: possible race condition here:
    user_data++;
}

int
main()
{
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::io::loadPCDFile("C:/Users/Shinelon/Desktop/test_pcd.pcd", *cloud);

    pcl::visualization::CloudViewer viewer("Cloud Viewer");

    //blocks until the cloud is actually rendered
    viewer.showCloud(cloud);

    //use the following functions to get access to the underlying more advanced/powerful
    //PCLVisualizer

    //This will only get called once
    viewer.runOnVisualizationThreadOnce(viewerOneOff);

    ////This will get called once per visualization iteration
    viewer.runOnVisualizationThread(viewerPsycho);
    while (!viewer.wasStopped())
    {
        //you can also do cool processing here
        //FIXME: Note that this is running in a separate thread from viewerPsycho
        //and you should guard against race conditions yourself...
        user_data++;
    }
    return 0;
}

' ''

Результат:

Я не получаю никаких ошибок, компиляция прошла успешно. Когда я запускаю, отображается окно, а затем программа вылетает.

Я не могу найти причину. Может ли кто-нибудь мне помочь?

Любые предложения будут приняты во внимание.

1 Ответ

1 голос
/ 10 августа 2020

Извините, я не знаю номер версии предыдущего драйвера NVIDIA на моем ноутбуке. По совпадению, игра, запущенная на моем компьютере, вылетела вчера из-за "nvwgf2umx.DLL". Официальное решение - переустановить последнюю версию драйвера NVIDIA, что я сделал позже. В итоге игра заработала, а баги в посте исчезли. Я надеюсь, что этот ответ будет полезен другим в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...