コード例 #1
0
ファイル: image.c プロジェクト: jjmata/cvjena-darknet
image load_image_cv(char *filename, int channels)
{
    IplImage* src = 0;
    int flag = -1;
    if (channels == 0) flag = -1;
    else if (channels == 1) flag = 0;
    else if (channels == 3) flag = 1;
    else {
        fprintf(stderr, "OpenCV can't force load with %d channels\n", channels);
    }

    //add debug
    //printf("%s\n", filename);
    //flag = 1;

    if( (src = cvLoadImage(filename, flag)) == 0 )
    {
        printf(" Cannot load image \"%s\"\n", filename);
        exit(0);
    }
    image out = ipl_to_image(src);
    cvReleaseImage(&src);
    rgbgr_image(out);
    return out;
}
コード例 #2
0
 static std::shared_ptr<image_t> mat_to_image(cv::Mat img_src)
 {
     cv::Mat img;
     cv::cvtColor(img_src, img, cv::COLOR_RGB2BGR);
     std::shared_ptr<image_t> image_ptr(new image_t, [](image_t *img) { free_image(*img); delete img; });
     std::shared_ptr<IplImage> ipl_small = std::make_shared<IplImage>(img);
     *image_ptr = ipl_to_image(ipl_small.get());
     return image_ptr;
 }