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)
上一篇 2022年6月2日 上午7:36
下一篇 2022年6月2日 上午7:46


相关推荐

  • 2021阿里笔试题

    2021阿里笔试题n个人,初始序号为a[i],当某个人的序号是某个整数的平方时,则获胜。现在发放一定数量的券,每张券可以是自己的序号加一或减一。求让一半的人获胜至少需要多少张券。//testali.cpp:定义控制台应用程序的入口点。//#include”stdafx.h”#include<math.h>#include<iostream>#include<math.h>#include<vector>#include<algori

    2022年5月23日
    45
  • C++ 输入的是1.3变1.29999995问题

    C++ 输入的是1.3变1.29999995问题今天一位粉丝在评论中问到了这个问题,我简单的说了原理和改进方法,将float改为double就可以了,下面我进行详细整理先说一下debug是啥意思马克2号(Harvard Mark II)编制程序的葛丽丝·霍波(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而…

    2022年8月18日
    8
  • OutputStreamWriter的基本使用[通俗易懂]

    OutputStreamWriter的基本使用[通俗易懂]所有基于Writer类和Reader类的IO流都是字符流,字符流是高级流,必须基于字节流来构建OutputStreamWriter主要方法write(intn)write(Stringstr)write(Stringstr,intoffset,intlen)write(char[]cbuf)write(char[]cbuf,intoffset,intlen)举个栗子packagecom.wondream.myframework.app.basic

    2025年10月26日
    3
  • OpenClaw自定义技能开发实战:从零创建图片处理Skill完整指南

    OpenClaw自定义技能开发实战:从零创建图片处理Skill完整指南

    2026年3月13日
    2
  • 软件poc测试方案,桌面云项目POC测试方案(12页)-原创力文档

    软件poc测试方案,桌面云项目POC测试方案(12页)-原创力文档XX 项目 POC 测试报告修订记录版本变更描述变更人日期 0 1 文档创建 XXXXPAGE1 一 测试目标为了虚拟化产品能够在实际业务工作中发挥预期作用 拟定测试目标如下 1 用户体验测试 测试用户实际对虚拟化产品的使用体验 用户分别就虚拟化产品中文字处理 幻灯片处理 文本阅读 流媒体播放 即时通讯等功能的实际使用体验给出评分 本项测试的目的是考查在并发用户数目变化的情况下用户的实际体验是否存在变化

    2026年3月17日
    2
  • Android之viewstub用法详解及实现延迟加载

    这一篇是接着上面的include标签的例子来讲的,地址http://blog.csdn.net/jason0539/article/details/26131831 上一篇的布局中间就用了viewstub这个控件,现在来说一下其作用和用法” ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View”需

    2022年3月11日
    78

发表回复

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

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