大家好,又见面了,我是你们的朋友全栈君。
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账号...