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


相关推荐

  • Jstorm 环境搭建[通俗易懂]

    Jstorm 环境搭建[通俗易懂]Jstorm环境搭建有三种安装部署方式:standalone模式、yarn模式、docker模式,其中standalone模式最简单、轻量、稳定比较常用,整体规模不超过300台,yarn模式外部依赖较重,规模至少30台,docker比较消耗性能。standalon模式安装步骤搭建外部依赖搭建jstorm之前需要先搭建外部依赖1.zookeeper2.jdk

    2025年6月9日
    5
  • 裁判文书关键信息提取

    裁判文书关键信息提取单个文件等级地处理 程序实现 1 传入一个路径 doc 或 docx 文件路径 系统会自动判断是 doc 文件还是 docx 文件 doc 文件会转换为 docx 文件 在本路径下生成同文件名 json 文件 2 传入一个路径 返回一个列表 内嵌套固定类型字典 importosimpo docimportdoc 1 通过文件路径解析信息 txt 文件编码类型为 ANSI 获取案件名 文件名 案由 案件类型 文书类型

    2025年12月8日
    7
  • PXE启动原理以及与普通Linux启动的对比

    PXE启动原理以及与普通Linux启动的对比关于PXE部署的详细配置的文章已经有不少了,这篇文章主要讲一下PXE启动的原理以及PXE启动和普通Linux启动的对比。

    2022年6月29日
    26
  • Java设计模式之行为型:解释器模式

    Java设计模式之行为型:解释器模式

    2021年10月4日
    38
  • BurpSuite安装和基础使用教程(已激活成功教程)

    BurpSuite安装和基础使用教程(已激活成功教程)BurpSuite 是用于攻击 web 应用程序的集成平台 它包含了许多 Burp 工具 这些不同的 burp 工具通过协同工作 有效的分享信息 支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击 它主要用来做安全性渗透测试 可以实现拦截请求 BurpSpider 爬虫 漏洞扫描 付费 等类似 Fiddler 和 Postman 但比其更强大的功能 那么我们开始安装教程 BurpSuite 如何安装 BurpSuite 是由 Java 语言编写而成 而 Java 自身的跨平台性 使得软件的学习和使用更加方便

    2026年3月18日
    2
  • SQL模糊查询语句(like)

    SQL模糊查询语句(like) 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用=和!=字符串比较运算符相比,使用通配符可使LIKE运算符更加灵活。如果任何参数都不属于字符串数据类型,MicrosoftSQLServer会将其转换成字符串数据类型(如果可能)。语法mat

    2022年5月26日
    176

发表回复

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

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