(七)OpenCV深度神经网络(DNN)模块_03_FCN模型(实现)图像分割、CNN模型预测性别与年龄

本文介绍了如何利用OpenCV的深度神经网络(DNN)模块,结合FCN模型进行图像分割,支持20类标签。同时,通过预训练的CNN模型预测性别和年龄,提供了模型下载链接以及相关配置文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FCN模型

  1. Model下载地址:https://github.com/BVLC/caffe/wiki/Model-Zoo
    使用模型实现图像分割(支持20个分割标签)
  2. 20个分类标签
    二进制模型
    fcn8s-heavy-pascal.caffemodel
    网络描述
    fcn8s-heavy-pascal.prototxt
    分割信息
    pascal-classes.txt
#include <opencv2/opencv.hpp>
#include <opencv2/dnn.hpp>
#include <iostream>
//伪代码
using namespace std;
using namespace cv::dnn;
using namespace cv;

const size_t width = 300;
const size_t height = 300;
String Label_Text = "sources/samples/data/dnn/pascal-classes.txt";//分类信息
String Model_Caffe = "sources/samples/data/dnn/fcn8s-heavy-pascal.caffemodel";//Caffe二进制模型
String Model_Text = "sources/data/dnn/fcn8s-heavy-pascal.prototxt";//网络描述

vector<Vec3b> readColors();//颜色标签

//https://blog.youkuaiyun.com/hunzhangzui9837/article/details/82839265
int main(int argc, char** argv) 
{
   
	Mat src = imread("../path.jpg");
	if (src.empty()) 
	{
   
		printf("could not load image...\n");
		return -1;
	}
	namedWindow("input image", WINDOW_AUTOSIZE);
	imshow("input image", src);
	resize(src, src, Size(500, 500));//描述文件
	vector<Vec3b> colors = readColors();

	//读取Caffe模型
	Net net = readNetFromCaffe(Model_Text, Model_Caffe);
	Mat blobImage = blobFromImage(src);//图片预处理
	
	//计算FCN模型计算时间
	float time = getTickCount();
	net.setInput(blobImage, "data");//第一个layer_name
	Mat score = net.forward("score"); //最后一个layer_name
	float tt = getTickCount() - time;
	cout << "FCN模型计算时间time consume:"  << (tt / getTickFrequency()) * 1000 << endl;

	/*input_shape {
		dim: 1//表示对待识别样本进行数据增广的数量
		dim: 3//图像通道数
		dim: 300//图像长度
		dim: 300//图像宽度
	}*/
	const int rows = score.size[2];
	const int cols = score.size[3];
	const int channels = score.size[1];
	Mat maxCl(rows, cols, CV_8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值