图像处理java

图像处理java,java,matlab,image-processing,javacv,Java,Matlab,Image Processing,Javacv,我是java的完全初学者。在我最后一年的项目中,我必须做一些与实时图像处理相关的事情。我现在正在做的是在JavaCv的帮助下将Matlab程序转换成Java。我真的无法处理3D martrix。 这里有三个问题 从RGB三维图像中获取红色分量:Matlab代码:red=I(:,:,1)Java代码:cvInRangeS(imgRGB,cvScalar(0,0,0,0),cvScalar(255,0,0,0),imgR)在java中可以这样做吗 在一维矩阵中,如何将下面的代码转换为java?Mat

我是java的完全初学者。在我最后一年的项目中,我必须做一些与实时图像处理相关的事情。我现在正在做的是在JavaCv的帮助下将Matlab程序转换成Java。我真的无法处理3D martrix。 这里有三个问题

  • 从RGB三维图像中获取红色分量:Matlab代码:
    red=I(:,:,1)Java代码:
    cvInRangeS(imgRGB,cvScalar(0,0,0,0),cvScalar(255,0,0,0),imgR)在java中可以这样做吗

  • 在一维矩阵中,如何将下面的代码转换为java?Matlab代码:
    imgB(find(imgA~=0))=255
    Matlab代码意味着,对于imgA中的每个非零像素,在
    imgB
    中放置一个
    int
    255

  • 我可以从一维
    IplImage
    类型图像中提取一些坐标吗?
    如果可以,如何进行

  • 1-从RGB三维图像中获取R的Matlab代码:Red=I(:,:,1);JAVA 代码:cvInRangeS(imgRGB、cvScalar(0,0,0,0)、cvScalar(255,0,0,0), imgR);我可以用java这样做吗

    如果要从图像中获取红色颜色,可以尝试以下操作:

        BufferedImage image = ImageIO.read(new File("////////image path"));
        for (int i = 0; i < image.getWidth(); i++) {
            for (int j = 0; j < image.getHeight(); j++) {
                Color c = new Color(image.getRGB(i, j));
                int red = c.getRed();//////////here you get the Red color , you can make it array 2D 
                System.out.println(red);
            }
        }
    
    buffereImage=ImageIO.read(新文件(“//图像路径”);
    对于(int i=0;i
    2-在一维矩阵中,如何将下面的代码转换为java?Matlab 代码:imgB(find(imgA~=0))=255;Matlab代码的意思是,在 imgA中每个非零像素的imgB

    你可以这样做

      for (int i = 0; i < imgA.getWidth(); i++) {
            for (int j = 0; j < imgA.getHeight(); j++) {
                if (Color.BLACK.getRGB() != imgA.getRGB(i, j)) {
                    imgB.setRGB(i, j, 255);
                }
            }
    
    for(int i=0;i
    注意:用于定义图像