My matlab code does image processing, and I made matlab function which has 2 images as inputs. I wrote a separate java class to perform the imread function of matlab, i.e., to read the jpg images into 3D array (its an RGB image).
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();
}
}
}
Could you please tell me how to fix this error? Is it a problem with my java code, or the import of the matlab code? I am very new to Java, so I can't figure out the problem. Thanks!
x.encoder_function
in a call toArrays.asList
, i.e. x.encoder_function(Arrays.asList(barcode), Arrays.asList(original_photo));? (You'll need to
import java.util.Arrays;`.) – Luke Woodward