Java结合OpenCV读取图片并遍历像素值[通俗易懂]

Java结合OpenCV读取图片并遍历像素值[通俗易懂]1项目结构图1图像读取及遍历项目结构2图像读取及遍历codepackagecom.opencv;importjava.awt.Dimension;importjava.awt.image.BufferedImage;importjava.util.ArrayList;importjava.util.List;importjava.util.Vector;…

大家好,又见面了,我是你们的朋友全栈君。

1 项目结构

在这里插入图片描述


图1 图像读取及遍历项目结构

2 图像读取及遍历

  • code
package com.opencv;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.videoio.VideoCapture;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
public class VideoDemo { 

public static void main(String[] args) { 

// 列表
ArrayList array = new ArrayList();
System.out.println("List: "+array);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat image = new Mat();
// 图像读取
image = Imgcodecs.imread("/home/xdq/xinPrj/java/opencvTwo/images/DVI_dis.png");
// 图像行:高度height
int img_rows = image.rows();
// 图像列:宽度width
int img_colums = image.cols();
// 图像通道:维度dims/channels
int img_channels = image.channels();
System.out.println("image mat: " + image+"\n");
System.out.println("image rows: "+image.rows()+"\n");
System.out.println("image column: "+image.cols()+"\n");
System.out.println("image channels: "+image.channels()+"\n");
System.out.println("image value: "+image.get(0, 0).length+"\n");
// 图像像素遍历,按通道输出
for(int i=0;i<img_channels;i++) { 

for(int j=0;j<img_rows;j++){ 

for(int k=0; k<img_colums;k++){ 

array.add(image.get(j,k)[i]);
}
}
System.out.println("image value: "+array+"\n");
// 列表清空
array.clear();
}
}
}
  • Result
    在这里插入图片描述


图2 遍历像素

传送门:https://github.com/xindaqi/java.git

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137371.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号