main.cpp 1009 Bytes
Newer Older
1
2
3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
liucong's avatar
liucong committed
4
5
6
#include <Unet.h>
#include <SimpleLog.h>
#include <Filesystem.h>
7

liucong's avatar
liucong committed
8
int main()
9
{
liucong's avatar
liucong committed
10
11
12
13
    // 加载Unet模型
    migraphxSamples::Unet unet;
    migraphxSamples::InitializationParameterOfSegmentation initParamOfSegmentationUnet;
    initParamOfSegmentationUnet.configFilePath = CONFIG_FILE;
liucong's avatar
liucong committed
14
15
    migraphxSamples::ErrorCode errorCode       = unet.Initialize(initParamOfSegmentationUnet);
    if(errorCode != migraphxSamples::SUCCESS)
16
    {
liucong's avatar
liucong committed
17
18
        LOG_ERROR(stdout, "fail to initialize Unet!\n");
        exit(-1);
19
    }
liucong's avatar
liucong committed
20
21
22
    LOG_INFO(stdout, "succeed to initialize Unet\n");

    // 读取图像
liucong's avatar
liucong committed
23
24
    cv::Mat srcImage = cv::imread("../Resource/Images/car1.jpeg", 1);

liucong's avatar
liucong committed
25
    // 推理
liucong's avatar
liucong committed
26
    cv::Mat maskImage;
liucong's avatar
liucong committed
27
    unet.Segmentation(srcImage, maskImage);
liucong's avatar
liucong committed
28
29
    LOG_INFO(stdout, "========== Segmentation Results ==========\n");
    LOG_INFO(stdout, "Segmentation results have been saved to ./Result.jpg\n");
liucong's avatar
liucong committed
30
31
    cv::imwrite("./Result.jpg", maskImage);

32
33
    return 0;
}