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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CloudSim5.0学习笔记

    CloudSim5.0学习笔记目录CloudSim是什么?11.CloudSim仿真器的简介12.CloudSim版本的变化12.1从CloudSimbeta1.0到CloudSim2.0的变化:12.2从CloudSim2.0到CloudSim2.1的变化:12.3从CloudSim2.1到CloudSim3.0的变化:12.4从CloudSim3.0到CLoudSim3.0.3的变化22.5从CloudSim3.0.3到CloudSim4.0到的变化22….

    2022年10月13日
    5
  • 如何运行.java文件

    首先按“Windows+R”键打开运行,输入“cmd”打开命令行窗口。然后通过cd进入.java文件所在的文件夹,生成与.Java文件同名的.class字节码文件。再输入“java 文件名”运行该.java文件。

    2022年1月17日
    46
  • 汉罗塔编程_c语言斐波那契数列递归算法

    汉罗塔编程_c语言斐波那契数列递归算法汉罗塔C语言算法新手入门(3分钟学会)前言我相信大家在刚接触C语言时对汉罗塔递归算法有些头痛,现在依旧头痛的小朋友不要担心,你只要学完这篇文章,我相信你对汉罗塔算法十分感兴趣的。一看就会,不信试试?具备知识在看这篇文章之前,首先你得学会C语言函数知识点,仅此而已。1.直接上代码#include<stdio.h>intmain(){voidmove(intn,c…

    2022年10月12日
    4
  • mysql中的trace工具

    mysql中的trace工具

    2021年8月4日
    118
  • mac m1 idea 激活码-激活码分享

    (mac m1 idea 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月28日
    1.2K
  • 微信支付java实例_java开发微信应用

    微信支付java实例_java开发微信应用JAVA开发集成微信支付(WXPay)遇到的坑!

    2022年4月20日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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