OpenCV4学习笔记(68)——dnn模块之调用基于Cityscapes数据集的图像分割模型

本次笔记要整理记录的是基于Cityscapes数据集训练而成的图像分割模型model-best.net,该模型能够对行人、汽车、红绿灯、马路、地形、天空等等二十种类别进行分类,可用于城市景观分割。

下面通过代码整理如何在OpenCV中利用dnn模块对该模型进行加载调用,并实现城市景观分割。

首先加载模型,并且设置计算后台和目标设备

	string model_path = "D:\\opencv_c++\\opencv_tutorial\\data\\models\\enet\\model-best.net";
	Net net = readNetFromTorch(model_path);
	net.setPreferableBackend(DNN_BACKEND_OPENCV);
	net.setPreferableTarget(DNN_TARGET_CPU);

然后加载测试图像,将测试图像转换成blob后传入网络的输入层,并进行前向传播。这里输出前向传播结果矩阵的四个维度数。

	Mat test_image = imread("D:\\opencv_c++\\opencv_tutorial\\data\\images\\cityscapes_test.jpg");
	imshow("test_image", test_image);
	Mat inputBlob = blobFromImage(test_image, 0.00392, Size(1024, 512), Scalar(0, 0, 0), true, false);

	net.setInput(inputBlob);
	Mat prob = net.forward();
	cout << prob.size[0] << endl;			//输入图像数目
	cout << prob.size[1] << endl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值