资源简介
对应博客为https://blog.csdn.net/qq_35590091/article/details/104557020
代码片段和文件信息
#include
#include
#include “torch/script.h“
#include “torch/torch.h“
#include “opencv2/core.hpp“
#include “opencv2/imgproc.hpp“
#include “opencv2/highgui.hpp“
#include “opencv2/imgcodecs.hpp“
#include
#include
#include
#include
using namespace std;
//根据association加载图像
void LoadImages(const string &strAssociationFilename vector &vstrImageFilenamesRGB
vector &vstrImageFilenamesD vector &vTimestamps)
{
ifstream fAssociation;
fAssociation.open(strAssociationFilename.c_str());
while(!fAssociation.eof())
{
string s;
getline(fAssociations);
if(!s.empty())
{
stringstream ss;
ss << s;
double t;
string sRGB sD;
ss >> t;
vTimestamps.push_back(t);
ss >> sRGB;
vstrImageFilenamesRGB.push_back(sRGB);
ss >> t;
ss >> sD;
vstrImageFilenamesD.push_back(sD);
}
}
}
void Visualization(cv::Mat prediction_map std::string LUT_file) {
cv::cvtColor(prediction_map.clone() prediction_map CV_GRAY2BGR);
cv::Mat label_colours = cv::imread(LUT_file1);
cv::cvtColor(label_colours label_colours CV_RGB2BGR);
cv::Mat output_image;
LUT(prediction_map label_colours output_image);
cv::imshow( “Display window“ output_image);
}
//对图片首先进行处理,返回张量
torch::Tensor process( cv::Mat& imagetorch::Device deviceint img_size)
{
cv::imshow(“test1“image);
//首先对输入的图片进行处理
cv::cvtColor(image image CV_BGR2RGB);// bgr -> rgb
cv::Mat img_float;
// image.convertTo(img_float CV_32F 1.0 / 255);//归一化到[01]区间
cv::resize(image img_float cv::Size(img_size img_size));
std::vector dims = {1 img_size img_size 3};
torch::Tensor img_var = torch::from_blob(img_float.data dims torch::kByte).to(device);//将图像转化成张量
img_var = img_var.permute({0312});//将张量的参数顺序转化为 torch输入的格式 13384384
img_var = img_var.toType(torch::kFloat);
img_var = img_var.div(255);
return img_var;
}
int main() {
char path[] = “../h1.png“;
int img_size = 384;
std::string LUT_file=“../pascal.png“;
//设置device类型
torch::DeviceType device_type;
device_type = torch::kCUDA;
torch::Device device(device_type);
std::cout<<“cudu support:“<< (torch::cuda::is_available()?“ture“:“false“)< //读取图像
vector vstrImageFilenamesRGB;
vector vstrImageFilenamesD;
//vector vstrImageFilenamesS;
vector vTimestamps;
string strAssociationFilename = string(“/media/azs/chris/dataset/TUM/rgbd_dataset_freiburg3_walking_xyz/associations.txt“);
LoadImages(strAssociationFilename vstrImageFilenamesRGB vstrImageFilenamesD vTimestamps);
int nImages = vstrImageFilenamesRGB.size();
if(vstrImageFilenamesRGB.empty())
{
cerr << endl << “No images found in provided path.“ << endl
相关资源
- 我们自己写的浏览器源代码
- Opencv+VS米粒图像处理实验源代码
- ACE编程超全面
- VTK使用手册VTKUsersGuide
- 海康工业相机二次开发源码 + OpenCV3
- VS+CSocket实现网络聊天,可发文件Wor
- 基于Winpcap实现抓取数据包
- 南京公交线路查询
- 图像细化算法
- Visual C 6.0
- OpenCV实现SfM:双目三维重建
- podofo vs2010 x86编译好的库
- 国际象棋马的遍历 贪心算法
- 基于opencv的图片旋转实现
- 海康威视实时视频预览+opencv实时处理
- 机票管理系统程序
- STL源码剖析 高清 带目录电子书+源代
- VS2010基于TWAIN协议实现对扫描仪的控制
- 基于QT开发CAN总线上位机
- 使用libxl库读取excel文件
- win32画图程序 可保存bmp 截图
- OpenGL三维图形系统开发与实用技术.
- Effective+C中文版第三版+高清PDF
- vs2017编译发布期货策略程序化自动交
-
基于Qt封装minibl
ink库-支持mingw和vc - 编写一个Windows应用程序,要求在窗口
- 完整代码!扫雷游戏,vs2010
- 基于机器视觉的列车前方障碍物检测
- 基于QGraphicsView实现的画图软件
- DoIP_Demo.zip
评论
共有 条评论