gpt4 book ai didi

java - 我将 matlab 代码构建到 Java 项目中,现在在运行调用该 matlab 函数的 java 代码行时遇到错误

转载 作者:行者123 更新时间:2023-12-01 05:15:35 25 4
gpt4 key购买 nike

我的 matlab 代码进行图像处理,并且我制作了有 2 个图像作为输入的 matlab 函数。我编写了一个单独的java类来执行matlab的imread功能,即将jpg图像读入3D数组(它是RGB图像)。

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import QRcode_java.*;
import com.mathworks.toolbox.javabuilder.*;


public class Driver {
public static void main(String[] args) {
// TODO Auto-generated method stub
encoder_class x=null; //encoder_class is the class built from the
//matlab function

Object[] barcode2=null; //output of matlab function
barcode_image_class barcode; //class to imread the jpg image input
barcode= new barcode_image_class();
original_photo_class original_photo;
//class to imread another image input
original_photo= new original_photo_class();

try {
x= new encoder_class();
barcode2=x.encoder_function(barcode, original_photo);
//**ERROR!** /*encoder_function is the matlab function written by me. this line gives an //error as the following:
//"The method encoder_function(List, List) in the type encoder_class
//is not applicable for the arguments (barcode_image_class, original_photo_class)"*/

} catch (MWException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

您能告诉我如何修复这个错误吗?是我的java代码有问题,还是matlab代码的导入有问题?我对Java很陌生,所以我无法找出问题所在。谢谢!

最佳答案

根据您的评论,您定义了一个方法encoder_function(List, List),该方法采用两个List作为参数。您尝试使用一些不是列表的参数来调用它,这就是编译器提示的原因。

要解决此问题,您必须:

  • 更改 encoder_function(List, List) 定义以将 barcode_image_classoriginal_photo_class 作为参数,并相应地更新方法的代码

或者

  • 找到一种将 barcode_image_classoriginal_photo_class 转换为 List 的方法(通过实现 List 接口(interface)或通过在两个类中提供一些辅助方法,将它们转换为 Lists

关于java - 我将 matlab 代码构建到 Java 项目中,现在在运行调用该 matlab 函数的 java 代码行时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11280323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com