首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在我的应用程序中使用ai.djl.modality.cv.util.BufferedImageUtils

无法在我的应用程序中使用ai.djl.modality.cv.util.BufferedImageUtils
EN

Stack Overflow用户
提问于 2021-08-23 06:41:00
回答 1查看 136关注 0票数 0

我是AI技术的新手,.I开发了我的项目所需要的每个DJL。但是当我使用ai.djl.modality.cv.util.BufferedImageUtils的时候。我无法在我的project.It中导入它,向我展示一个错误,创建局部变量BuffredImageUtils。

代码语言:javascript
复制
Unresolved reference: BufferedImageUtils

在这里我在我的项目中添加了所有的渐进式退步

代码语言:javascript
复制
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "2.5.4"
    id("io.spring.dependency-management") version "1.0.11.RELEASE"
    kotlin("jvm") version "1.5.21"
    kotlin("plugin.spring") version "1.5.21"
}

group = "com.main"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
    implementation("org.springframework.boot:spring-boot-starter-web")
    // https://mvnrepository.com/artifact/commons-io/commons-io
    implementation("commons-io:commons-io:2.6")
    // https://mvnrepository.com/artifact/ai.djl/api
    implementation("ai.djl:api:0.9.0")
    // https://mvnrepository.com/artifact/ai.djl.tensorflow/tensorflow-api
    implementation("ai.djl.tensorflow:tensorflow-api:0.9.0")
    // https://mvnrepository.com/artifact/ai.djl.tensorflow/tensorflow-engine
    implementation("ai.djl.tensorflow:tensorflow-engine:0.9.0")
    // https://mvnrepository.com/artifact/net.java.dev.jna/jna
    implementation("net.java.dev.jna:jna:5.8.0")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

    // https://mvnrepository.com/artifact/ai.djl.tensorflow/tensorflow-native-auto
    runtimeOnly("ai.djl.tensorflow:tensorflow-native-auto:2.3.1")

    testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "11"
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

DJLConfig.kt

代码语言:javascript
复制
package com.main.xrayaiapplication.config

import ai.djl.modality.Classifications
import ai.djl.modality.cv.util.NDImageUtils
import ai.djl.ndarray.NDArray
import ai.djl.ndarray.NDList
import ai.djl.translate.Batchifier
import ai.djl.translate.Translator
import ai.djl.translate.TranslatorContext
import org.springframework.context.annotation.Configuration
import java.awt.image.BufferedImage

@Configuration
class DjlConfig{
    class XrayTranslator: Translator<BufferedImage,Classifications> {
        override fun processInput(ctx: TranslatorContext?, input: BufferedImage?): NDList {
            var array: NDArray? = BufferedImageUtils.toNDArray(
                ctx.ndManager, input, NDImageUtils.Flag.COLOR
            )
            array = NDImageUtils.resize(array, 224).div(255.0f)
            return NDList(array)
        }

        override fun processOutput(ctx: TranslatorContext?, list: NDList?): Classifications {
            TODO("Not yet implemented")
        }

        override fun getBatchifier(): Batchifier {
            TODO("Not yet implemented")
        }

    }

}

我在这一行得到了精确的误差。

var数组: NDArray?= BufferedImageUtils.toNDArray(

无法访问DJL功能和内容

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 16:41:24

BufferedImageUtils已在较新版本的DJL中删除。您需要使用ImageFactory来代替:

代码语言:javascript
复制
ImageFactory factory = ImageFactory.getInstance();
# Image image = factory.fromFile(Paths.get("..."));
# Image image = factory.fromUrl("...");
Image image = factory.fromImage(bufferedImage);
NDArray array = image.toNDArray(ctx.getManager());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68888264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档