Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IBM视觉识别:创建分类器_Java_Ibm Watson - Fatal编程技术网

Java IBM视觉识别:创建分类器

Java IBM视觉识别:创建分类器,java,ibm-watson,Java,Ibm Watson,我已经根据IBMs预配置的分类器对图像进行了分类 现在我尝试创建并使用我自己的分类器(称为“圣诞老人”)来识别圣诞老人的图像: VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19); service.setApiKey("***************"); File santa = new File("

我已经根据IBMs预配置的分类器对图像进行了分类

现在我尝试创建并使用我自己的分类器(称为“圣诞老人”)来识别圣诞老人的图像:

    VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19);
    service.setApiKey("***************");
    
    File santa = new File("src/images/Santa.zip");
    File notSanta = new File("src/images/NotSanta.zip");
    CreateClassifierOptions classifierOptions = new CreateClassifierOptions.Builder()
            .classifierName("Santa").addClass("Santa", santa).negativeExamples(notSanta).build();
    VisualClassifier santaClassifier = service.createClassifier(classifierOptions).execute();
    List<String> classifierIds = new ArrayList<String>();
    classifierIds.add(santaClassifier.getId());
    ClassifyImagesOptions classifyOptionsSanta = new ClassifyImagesOptions.Builder()
            .classifierIds(classifierIds)
            .images(new File ("src/images/lilSanta.png")).build();
    VisualClassification resultSanta = service.classify(classifyOptionsSanta).execute();
    System.out.println(resultSanta);
为什么回答中没有处理图像,没有分类器? 我做错了什么

编辑
我现在使用Curl创建了分类器,并等待它被完全训练。然后我注意到了分类器ID,现在我可以很容易地使用Java实现这一点。我现在也用了50张照片。谢谢你的帮助

处理的图像
为零,因为该服务不会向您收取使用自定义分类器的费用。该参数用于计算API调用的成本

你的代码看起来不错。我做了一些小改动并降低了阈值(默认情况下
0.5
):

确保您正在发送50张圣诞老人和非圣诞老人的图像。 我发现,当我使用mac创建zip时,我会在其中获得一些额外的
\uuMacox
文件。使用
unzip

unzip -l <zip-file>
解压-l

我现在使用Curl创建了分类器,并等待它被完全训练。然后我注意到了分类器ID,现在我可以很容易地使用Java实现这一点。我现在也用了50张照片。谢谢你的帮助

您是否没有成功地使用Java创建自定义分类器?我现在也在尝试做同样的事情,遇到了你的问题..我想在使用curl创建分类器之后我不再尝试了。。。对不起,我没有代码了。
VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19);
service.setApiKey("***************");

CreateClassifierOptions classifierOptions = new CreateClassifierOptions.Builder()
    .classifierName("Santa")
    .addClass("Santa", new File("src/images/Santa.zip"))
    .negativeExamples(new File("src/images/NotSanta.zip"))
    .build();

VisualClassifier santaClassifier = service.createClassifier(classifierOptions).execute();

ClassifyImagesOptions classifyOptionsSanta = new ClassifyImagesOptions.Builder()
    .classifierIds(santaClassifier.getId())
    .images(new File ("src/images/lilSanta.png"))
    .threshold(0.0)
    .build();

VisualClassification resultSanta = service.classify(classifyOptionsSanta).execute();
System.out.println(resultSanta);
unzip -l <zip-file>