基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度
本文目录
- 一、什么是对比度
- 二、什么是颜色直方图
- 三、如何通过RGB计算颜色对比度
- 什么是HSV、Lab颜色空间
- 四、OpenCV代码
- 五、Java代码
- 5.1 平滑处理
- 5.2 完整代码
一、什么是对比度
对比度是指图像中不同区域之间的明暗差异程度,它是图像质量中的重要指标之一。除了颜色对比度之外,常见的对比度包括:
1、亮度对比度(Brightness Contrast):指图像中不同区域之间的亮度差异程度。计算方法可以使用像素灰度值的标准差或方差来描述。
2、方向对比度(Orientation Contrast):指图像中不同方向区域之间的差异程度。例如,某些图像中有明显的纹理或线条方向,可以通过计算不同方向的图像灰度值差异来描述图像的方向对比度。
3、空间对比度(Spatial Contrast):指图像中不同空间区域之间的差异程度。例如,在自然风光图像中,不同区域的颜色和纹理通常具有空间分布特性,可以通过计算局部对比度来描述这种特性。
4、颜色对比度是指图像中不同颜色区域之间的明显差异程度。在计算机视觉和图像处理中,颜色对比度通常用于描述彩色图像中不同区域之间的颜色差异,可以通过计算颜色空间中的颜色距离来度量。
这些对比度指标通常可以用于图像质量评价、图像增强和图像分割等领域。其中,颜色对比度和亮度对比度是最常用的对比度指标。
二、什么是颜色直方图
颜色直方图是一种描述图像中颜色分布情况的统计方法。它可以将图像中每个像素的颜色按照一定的规则进行分组,并计算出每个颜色组中包含的像素数量,最终得到一个表示颜色分布的直方图。
通常情况下,颜色直方图是针对彩色图像中的每个颜色通道(如红色、绿色、蓝色)分别计算的,因此可以得到三个独立的直方图。这些直方图可以用来描述图像中的颜色分布情况,比如哪些颜色比较常见、哪些颜色比较稀少等等。
颜色直方图在计算机视觉领域有广泛的应用,例如图像检索、目标识别、图像分割、图像增强等等。
三、如何通过RGB计算颜色对比度
计算RGB图像的颜色对比度,可以使用颜色直方图的方法。以下是基于RGB颜色空间计算颜色对比度的方法:
1、将RGB图像转换为灰度图像。
2、计算灰度图像的颜色直方图。
3、将颜色直方图进行归一化,即将所有的像素值缩放到0-1之间。
4、计算颜色对比度,通常使用方差(Variance)的计算方法,其公式如下:
其中,NNN表示颜色直方图的总大小,pip_ipi表示第iii个像素的归一化值,pˉ\bar{p}pˉ表示所有像素的平均归一化值。
这样就可以通过RGB颜色空间计算颜色对比度了。需要注意的是,RGB颜色空间的颜色对比度计算方法只适用于灰度图像,如果需要计算彩色图像的颜色对比度,则需要先将图像转换到HSV或Lab颜色空间,再进行计算。
什么是HSV、Lab颜色空间
HSV和Lab颜色空间是两种常用的颜色模型,它们分别描述了颜色的色相、饱和度、亮度和颜色的明暗、红绿蓝等属性,可以用于图像处理和计算机视觉等领域。
HSV颜色空间(Hue, Saturation, Value)是一种基于人类视觉感知的颜色模型,其中色相(Hue)表示颜色的色调,取值范围为0-360度;饱和度(Saturation)表示颜色的鲜艳程度,取值范围为0-1;亮度(Value)表示颜色的明暗程度,取值范围为0~1。HSV颜色空间可以通过RGB颜色空间转换得到,其优点是可以方便地调整图像的颜色和亮度,例如可以通过改变亮度值来实现图像的调整和增强。
Lab颜色空间(Lab*)是一种用于描述颜色的三维空间,其中L表示明度(Lightness),取值范围为0100;a表示从红色到绿色的颜色值,取值范围为-128-127;b表示从黄色到蓝色的颜色值,取值范围为-128~127。Lab颜色空间是一种与设备无关的颜色模型,可以描述出更广泛的颜色范围,适用于图像处理、颜色匹配和图像检索等领域。在计算Lab颜色空间中颜色距离时,通常使用CIEDE2000色差公式计算,可以更好地匹配人眼的视觉感知。
HSV和Lab颜色空间在不同的领域中有不同的应用,例如在计算机视觉中,可以使用HSV颜色空间进行目标检测和跟踪,使用Lab颜色空间进行图像匹配和检索。
GB、HSV和Lab颜色空间都是用于描述彩色图像的颜色模型,而灰度图像则是一种仅包含亮度信息的图像。
在灰度图像中,每个像素仅包含一个灰度值,表示该像素的亮度信息,通常取值范围为0~255,其中0表示黑色,255表示白色,其它数值表示不同亮度级别的灰色。因此,灰度图像中的每个像素可以用一个单独的字节表示,所以灰度图像具有较小的存储空间和计算成本。
相比之下,彩色图像需要存储RGB、HSV或Lab三个通道中的每个像素值,因此需要更大的存储空间和计算成本。但是,彩色图像包含了更丰富的颜色信息,可以更好地反映图像的色彩和亮度变化。在某些领域,如计算机视觉、图像处理和医学图像等,彩色图像比灰度图像更适合用于分析和处理。
总之,灰度图像只包含亮度信息,而彩色图像则包含颜色和亮度信息,彩色图像可以更好地反映图像的色彩和亮度变化,但需要更大的存储空间和计算成本。
四、OpenCV代码
import cv2
import numpy as npdef get_contrast(img, x1, y1, x2, y2):# 获取选定区域的颜色直方图roi = img[y1:y2, x1:x2]hist = cv2.calcHist([roi], [0], None, [256], [0, 256])# 计算颜色对比度hist_norm = cv2.normalize(hist, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX)contrast = np.sum((hist_norm - np.mean(hist_norm)) ** 2) / len(hist_norm)return contrast# 读取图片
img = cv2.imread("image.jpg")# 显示图片,用户可以用鼠标在图片上选择区域
cv2.imshow("image", img)
rect = cv2.selectROI("image", img, False)
cv2.destroyAllWindows()# 计算选定区域的颜色对比度
x1, y1, w, h = rect
x2, y2 = x1 + w, y1 + h
contrast = get_contrast(img, x1, y1, x2, y2)# 输出结果
print("选定区域的颜色对比度为:", contrast)
这个程序首先使用cv2.imread()函数读取输入的图片,然后使用cv2.selectROI()函数让用户在图片上选择感兴趣的区域。选定区域后,程序调用get_contrast()函数计算该区域的颜色对比度。最后,程序输出结果。get_contrast()函数中,我们使用cv2.calcHist()函数计算选定区域的颜色直方图,然后计算颜色对比度。
五、Java代码
5.1 平滑处理
平滑化处理,也称为平滑滤波,是一种常见的图像处理技术,主要用于减少图像中的噪声、平滑图像、模糊化图像等。该方法的基本思路是通过对图像中每个像素周围的邻域像素进行加权平均来降低图像中的高频成分,从而使图像变得更加平滑、连续,减少噪声对图像的影响。
在平滑化处理中,常用的方法包括均值滤波、高斯滤波、中值滤波等。这些方法的具体实现方式不同,但都能有效地减少图像中的噪声,并使图像变得更加平滑,从而方便后续的图像处理操作。
5.2 完整代码
try {File file = new File("image.jpg");BufferedImage image = ImageIO.read(file);int width = image.getWidth();int height = image.getHeight();int minx = image.getMinX();int miny = image.getMinY();// 首先读入图片,然后指定区域。System.out.println("width=" + width + ", height=" + height + ".");System.out.println("minx=" + minx + ", miny=" + miny + ".");for (int i = minx; i < width; i += 5) {flag = 1;for (int j = miny; j < height; j += 1) {flag = 1;int pixel = image.getRGB(i, j);int r1 = (pixel & 0xff0000) >> 16;int g1 = (pixel & 0xff00) >> 8;int b1 = (pixel & 0xff);// System.out.println(i+"=i,"+j+"=j,("+rgb1[0]+","+rgb1[1]+","+rgb1[2]+")");// 获取每个像素点的RGB。}}
} catch (IOException e) {e.printStackTrace();
}public double luminanace(int r, int g, int b) {double[] a = {r / 255.0, g / 255.0, b / 255.0};for (int i = 0; i < a.length; i++) {a[i] = a[i] <= 0.03928 ? a[i] / 12.92 : Math.pow((a[i] + 0.055) / 1.055, 2.4);}return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;
}public double getContrast(BufferedImage image, int x1, int y1, int x2, int y2) {int pixel1 = image.getRGB(x1, y1);int r1 = (pixel1 & 0xff0000) >> 16;int g1 = (pixel1 & 0xff00) >> 8;int b1 = (pixel1 & 0xff);int pixel2 = image.getRGB(x2, y2);int r2 = (pixel2 & 0xff0000) >> 16;int g2 = (pixel2 & 0xff00) >> 8;int b2 = (pixel2 & 0xff);double lum1 = luminanace(r1, g1, b1);double lum2 = luminanace(r2, g2, b2);double brightest = Math.max(lum1, lum2);double darkest = Math.min(lum1, lum2);return (brightest + 0.05) / (darkest + 0.05);
}
这段代码是计算颜色对比度的公式。其中,luminance(r,g,b)是将RGB颜色空间下的颜色值转换为亮度值,采用的是sRGB彩色空间中的标准转换公式。对于每个颜色通道的值r、g、b,首先将它们归一化到0~1的范围内,然后根据其大小关系,采用不同的公式进行转换。最终将R、G、B三个通道的亮度值按一定的比例相加,得到一个灰度值,表示该像素的亮度信息。
接下来,代码中使用了亮度值计算颜色对比度的公式,即将两个像素的亮度值进行比较,得到最亮的和最暗的像素的亮度值,并计算它们的比值,用来表示颜色对比度的强弱程度。其中,为了防止计算过程中出现0的情况,加上了一个较小的常数0.05作为平滑处理。
相关文章:
利用OpenShift的ImageStream部署临时版本
公司是港企,项目都部署在OpenShift上统一管理,因为运行环境为香港网络(外网),配置、中间件等大陆无法直接访问联通。因此在大陆开发时,测试是个很大的问题。为了避免往Git上频繁提交未确定可用的版本,选择用利用OpenSh…...
golang中数组array和切片slice的区别
go语言中最常用的数据结构 数组array 和 切片 slice的区别对比: 定义和初始化: 数组: [size]类型 切片: []类型 , 数组变量[low:high] var arr1 [3]string{"a", "b", "c"} //…...
NewStarCTF 2023 week1 writeup
NewStarCTF 2023 week1 writeup Web 1.泄漏的秘密 url/robots.txt查看robots协议,找到第一部分的flag PART ONE: flag{r0bots_1s_s0_us3ful url/www.zip查看网站备份,找到第二部分的flag $PART_TWO = "_4nd_www.zip_1s_s0_d4ng3rous}"; flag:flag{r0bots_1s_s0_us3…...
[ARC069F] Flags
题意 有 \(n\) 个旗子。 你需要将她们插在数轴上。 第 \(i\) 个旗子只能放在 \(x_i\) 或 \(y_i\) 处。 你需要求所有旗子的最小距离 \(d\) 的最大值。 Sol 二分个答案先。 考虑 \(\text{check}\),注意到这是个 \(\text{2-sat}\) 的经典模型。 具体地,设 \(S = x \cup y\) 若 …...
访问数据库出现Object reference not set to an instance of an object错误
很大原因是还没加载完就进行了调用,这时DataSet为空肯定报错,解决办法如果为空,显示前延时,如:if (depts == null) await Task.Delay(3000);//如果尚未生成,则延时3秒,避免出现错误Object reference not set to an instance of an object...
jmeter后置处理器提取到的参数因为换行符导致json解析错误
现象: {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…...
基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度
本文目录一、什么是对比度二、什么是颜色直方图三、如何通过RGB计算颜色对比度什么是HSV、Lab颜色空间四、OpenCV代码五、Java代码5.1 平滑处理5.2 完整代码一、什么是对比度 对比度是指图像中不同区域之间的明暗差异程度,它是图像质量中的重要指标之一。除了颜色对…...
Springboot是什么
目录 为什么会要用springboot 1、之前 2、现在 springboot优点 springboot四大核心 自动装配介绍 1、自动装配作用是什么 2、自动装配原理 springboot starter是什么 1、starter作用 2、比如:我们想搭建java web框架 3、starter原理 SpringBootApplica…...
Mac M1通过VMWare Fusion安装Centos7记录(镜像和网络有大坑)
以前用linux系统基本都在我的服务器上或者是在win上进行,从没有在M1上进行创建,因此走了一些坑吧,这里会列出我的详细安装步骤。 下载镜像 镜像的下载网站:https://www.centos.org/download/ 在该网站中,不管是Every…...
Windows Server 2016远程桌面配置全过程
镜像下载 系统镜像网址 本次下载的是 Windows Server 2016 (Updated Feb 2018) (x64) - DVD (Chinese-Simplified) 远程桌面配置 Step 1 在开始菜单搜索服务,打开服务器管理器,点击右上角的管理按钮 Step 2 添加角色控制,点击下一步 S…...
js 数据类型
1.概念 数据类型指的是可以在程序中存储和操作的值的类型,每种编程语言都有其支持的数据类型,不同的数据类型用来存储不同的数据,例如文本、数值、图像等。 JavaScript 是一种动态类型的语言,在定义变量时不需要提前指定变量的类…...
No.020<软考>《(高项)备考大全》【第05章】项目范围管理
1 章节相关 1.1 考试相关 上午一般考3分左右,20下、21下、22上考案例分析 21上考论文写作,是案例、论文需要学习准备的重点 1.2 6个过程 (1)规划范围管理:对如何定义、确认和控制项目范围的过程进行描述。 &#x…...
LAMP架构之zabbix监控(2):zabbix基础操作
目录 一、zabbix监控节点添加和删除 (1)手动添加 (2)自动添加 (3)按照条件批量添加 (4)使用api工具进行管理 二、针对应用的zabbix监控 一、zabbix监控节点添加和删除 实验说明&a…...
九龙证券|重磅文章引爆两大板块!千亿煤炭龙头强势涨停!
A股今天走势分化,创业板指逆市拉升;港股走势疲弱,恒生科技指数一度跌超3%。 具体来看,A股方面,沪指弱势震荡下探,盘中一度跌超1%,午后跌幅收窄;创业板指走势微弱,午后涨超…...
OCR之论文笔记TrOCR
文章目录TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models一. 简介二. TrOCR2.1. Encoder2.2 Decoder2.3 Model Initialiaztion2.4 Task Pipeline2.5 Pre-training2.6 Fine-tuning2.7 Data Augmentation三. 实验3.1 Data3.2 Settings3.2 Resul…...
静态路由+DHCP实验(四路由器八PC)
一.200.1.1.0/24子网划分 1.划分八个子网 2.选用前5个,第五个子网再划分4个子网作为骨干 二.规划路由 三.配置(下一跳) 1.先依次实现四个路由器之间全网可通 2.为路由器配置地址池,使用全局模式获取dhcp,指定网关…...
文件包含漏洞原理与实践
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 文件包含漏洞一、什么是文件包含漏洞?二、文件包含函数三、两种文件包含1、本地文件包含1.1 使用教程演示2、远程文件包含1.1 使…...
利用摄影测量进行地形建模的介绍
一、前言 从一个地方到另一个地方的地球表面由连续和突然的海拔变化组成,个人和社会都必须应对这些变化。 水从高山和丘陵向下流,从溪流流入河流,形成三角洲,最终汇入大海。 三维 (3D) 地面信息的获取和表示一直是与行星表面相关的…...
【Nginx】Nginx 常用的基础配置
文章目录一、基础配置二、隐藏 Nginx 版本信息三、禁止ip直接访问80端口四、启动 web 服务 (vue 项目为例)五、PC端和移动端使用不同的项目文件映射六、一个web服务,配置多个项目 (location 匹配路由区别)七、配置负载均衡八、SSL 配置 HTTPS一、基础配置 user …...
基于OpenCV的图片和视频人脸识别
目录 🥩前言 🍖环境使用 🍖模块使用 🍖模块介绍 🍖模块安装问题: 🥩人脸检测 🍖Haar 级联的概念 🍖获取 Haar 级联数据 🍗 1.下载所需版本 🍗 2.安…...
比肩ChatGPT的国产AI:文心一言——有话说
🔗 运行环境:chatGPT,文心一言 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好&am…...
剑指offer JZ77 按之字形顺序打印二叉树
Java JZ77 按之字形顺序打印二叉树 文章目录Java JZ77 按之字形顺序打印二叉树一、题目描述二、双栈法三、队列reverse()法使用双栈法和队列reverse()法解决剑指offer JZ77 按之字形顺序打印二叉树的问题。 一、题目描述 给定一个二叉树,返回该二叉树的之字形层序遍…...
【Azure 架构师学习笔记】-Azure Data Factory (5)-Managed VNet
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (4)-触发器详解-事件触发器 前言 PaaS服务默认都经过公网传输, 这对很多企业而言并不安全,那么就需要对其进行安全改…...
聚类算法层次聚类
###cluster.py #导入相应的包 import scipy import scipy.cluster.hierarchy as sch from scipy.cluster.vq import vq,kmeans,whiten import numpy as np import matplotlib.pylab as plt #生成待聚类的数据点,这里生成了20个点,每个点4维: pointsscipy.randn(20,4) #加一…...
大数据写入到Oracle数据库(批量插入数据)
开发中经常遇到批量插入数据的需求,为了提高开发效率大多会使用ORM架构,个别之处 才会手写SQL,我们使用C#.NET Core5.0开发,所以优先选择了微软的EF。 但是EF原生没有批量操作功能,需要自己扩展或使用第三方的扩展&am…...
【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version
题目链接:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ 1. 题目介绍(39. 数组中出现次数超过一半的数字) 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可…...
es-head插件插入查询以及条件查询(五)
es-head插件插入查询以及条件查询 1.es-head插件页面介绍 页面详细介绍 2.es-head查询语句 2.1.查询索引中的全部数据 curl命令交互,采用GET请求 语法格式: curl -XGET es地址:9200/索引名/_search?pretty [rootelaticsearch ~]# curl -XGET 192…...
数据挖掘(作业汇总)
目录 环境配置 实验1 数据 作业2 环境配置 实验开始前先配置环境 以实验室2023安装的版本为例: 1、安装anaconda:(anaconda自带Python,安装了anaconda就不用再安装Python了) 下载并安装 Anaconda3-2022.10-Windows-x86_64.ex…...
基于微信小程序的图书馆选座系统源码
开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具 技术说明: springboot mybatis 小程序 代码注释齐全,没有多余代码,适合学习(…...
特斯拉4D成像毫米波雷达与木牛科技早期开源的产品几乎一模一样?
近日,在中欧智能网联汽车协会秘书长林示的组织下,中益基金投资总监王子文考察了全球毫米波雷达领跑者—木牛科技。 考察过程中,木牛科技COO王卫向两位详细介绍了木牛科技具备怎样的全球毫米波雷达领跑者的科技硬实力,以及木牛科技…...
[golang gin框架] 10.Gin 商城项目介绍
一.商城项目介绍 1.详细功能介绍图 2.数据库 ER 图 需要用到的数据表举例 二.MVC架构搭建以及执行流程分析 1.关于 MVC 模式的简单介绍 Gin 不是一个 MVC 的框架,所有的代码都可以写在 main.go 中。当我们的项目比较大的时候, 所有代码写在一个文件里面…...
python@调用系统命令行@os.system@subprocess@标准输入输出@sys.stdin@sys.stdout@input@print
文章目录python调用系统命令行os.system标准输入输出sys.stdinsys.stdoutinputprint概要os.systemdemoswindows命令解释器ComSpecsubprocessrecommended🎈基本用法demos标准输入输出sys.stdininput()sys.stdin.inputinput()交互模式小结sys.stdoutsys.stdout.wirte(…...
15-哈希表
哈希表(Hash table),也称散列表,是一个能够将数值映射而成地址从而进行直接访问的数据结构,通过哈希表我们可以快速、迅捷地访问数据。 哈希表原理 假设我们拥有一个数x(也称关键值,key&#…...
【超详细文件操作(三)】C语言
作者:日出等日落 专栏:C语言 只有流过血的手指,才能弹出世间的绝唱。 ——泰戈尔 目录 1.文件的随机读写 1.1 fseek函数 1.1.1 下面使用fseek函数 1.2 ftell函数 1.3 rewind函数 …...
【数据分析之道-基础知识(四)】字典
文章目录专栏导读1、字典简介2、字典创建3、字典访问4、字典修改5、字典添加6、字典删除7、字典内置函数专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》,本专栏…...
【计组】RAM的深入理解
一、存储机理 RAM的实现逻辑有种,分别是触发器和电容。 SRAM(Static)DRAM(Dynamic)存储方式触发器电容破坏性读出否(触发器具有稳态,能够锁住0或1两种状态)是(电容需要…...
51单片机学习笔记_13 ADC
ADC 使得调节开发板上的电位器时,数码管上能够显示 AD 模块 采集电位器的电压值且随之变化。 开发板上有三个应用:光敏电阻,热敏电阻,电位器。 一般 AD 转换有多个输入,提高使用效率。 ADC 通过地址锁存与译码判断采…...
JVM 常量池
Class文件常量池 每个Class文件都会有一个单独的常量池,我们称为Class文件常量池,我们可以用javap命令反汇编Class文件,可以查看java编译器为我们生成的字节码。 CLass文件常量池存下内容: 字面量: 文本字符串(代码中用双引号包裹的字符串部分的值)被…...
Leetcode.1024 视频拼接
题目链接 Leetcode.1024 视频拼接 Rating : 1746 题目描述 你将会获得一系列视频片段,这些片段来自于一项持续时长为 time秒的体育赛事。这些片段可能有所重叠,也可能长度不一。 使用数组 clips描述所有的视频片段,其中 clips[i…...
彩色滤镜阵列CFA与Bayer滤镜
彩色滤镜阵列(CFA) 在彩色光电摄影中,可以通过分光,使用三个传感器分别捕获红、绿、蓝三个通道的颜色分量。但为了降低成本,绝大部分成像系统中采用单芯片 CMOS、CCD 传感器结合彩色滤镜阵列(Color Fiter Array&#…...
Unity和GAN实现AI绘画五等分的新娘、国家队02(附源码)
UnityGAN实现AI绘画五等分的新娘、国家队02附源码写在前面源码演示视频部分界面展示使用教程敬请期待其他写在后面写在前面 博主喜欢二次元,想着在读研期间做点对自己有意义的事,因此选择了动漫人物生成方向(呜呜呜,太感谢导师理解和支持了)…...
SpringBoot实现自己的日志服务
日志服务是作为软件开发架构的必备服务之一,一直都是我们所关注,所考虑的服务关键点,一个优秀的日志服务可以为项目的维护提供有力的支持,提高了系统的可靠性。 前言 如何设计一个优秀而又可靠的日志服务,是一直以来都…...
基于ssm流浪动物救助及领养管理系统(文档)024
大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…...
maven安装及配置(IDEA版)简洁
1.下载Maven:您可以从Maven官方网站(https://maven.apache.org/download.cgi)下载适合您操作系统的Maven版本,并解压缩到您想要安装的位置。 2.配置环境变量:将Maven的bin目录添加到PATH环境变量中,这样…...
最全Linux应用开发解析(持续更新)
一、文件IO 1.1 文件描述符 在 Linux 操作系统中的一切都被抽象成了文件,那么一个打开的文件是如何与应用程序进行对应呢? 解决方案是使用文件描述符(file descriptor,简称fd),当在进程中打开一个现有文…...
SpringBoot学习笔记下
文章目录1 接口架构风格 —RESTful1.1 REST1.2 在页面中或者ajax中,支持put,delete请求2 Spring Boot 集成 Redis2.1 redis起步依赖2.2 对比 StringRedisTemplate 和 RedisTemplate3 SpringBoot集成Dubbo3.1 看 SpringBoot继承Dubbo的文档3.2 公共项目7.…...
小米12/12S/13Pro手机MIUI14系统小黄鸟(HttpCanary)CA证书无法注入问题
很多用户获取ROOT是为了抓包,这里一般常常依赖一款名叫HttpCanary的软件,因软件 图标是一只小鸟,我们经常叫他小黄鸟。从日常使用上来看,黄鸟确实有抓包获取数据等 功能,也在多个手机上实践成功,网上相关教…...
SpringCloud学习笔记(四)Docker
一、Docker如何解决依赖的兼容问题 将应用的libs(函数库)、Deps(依赖)、配置与应用一起打包,形成可移植镜像Docker应用运行在容器中,使用沙箱机制,相互隔离 二、Dokcer如何解决开发、测试、生…...
SAP 批量修改 工艺路线 和 BOM
1、在运维的过程中经常会遇到用户需要批量更改组件,或者是批量更改数量,还是组件里面的一些标识,当处理这些批量数据处理的业务时,BOM的批量更改一个想到的就是CS20,但是CS20当BOM需要替换的时候就不是很适用。新增的组…...
基于OpenTelemetry实现可观测性-Part 4 Collector
译注:这是一个系列,共分成6部分,这是第4部分。翻译自:https://trstringer.com/otel-part4-collector/在上一篇博文中,我们讨论了如何使用 SDK 和追踪器提供者从进程获取遥测数据。存在很多不同类型的导出器,…...
STM32学习(十二)
软件定时原理 使用纯软件(CPU死等)的方式实现定时(延时)功能。 不精准:函数调用压栈进栈需要耗费额外的时间;流水线使得程序执行时间不确定。CPU死等。 定时器定时原理 使用精准的时基,通过…...
Python毕业设计推荐
今天给大家推荐4个基于python的毕业设计/课程设计 1 网上商城系统 这是一个基于pythonvue开发的商城网站,平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能…...
组装式交付-云巧 知多少
组装式交付-云巧 知多少组装式交付背景云巧什么是云巧呢?云巧的优势丰富的组件,提升代码复用全面的集成方式,支持模块化组装云原生标准,预集成阿里云产品云巧的构成云巧组件云巧资产市场云巧生态云巧工坊总结组装式交付背景 一直…...
「解析」牛客网-华为机考企业真题 41-60
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工…...
RPA机器人在信息化管理、报告生成实现自动化成为生态环境局新宠
随着人们对环境和自然资源的保护意识逐渐增强,我国在环保领域的投入力度也越来越大。然而,环境保护任务的繁重与复杂,也意味着环保执法机关需要更加高效、精准的手段来完成任务。这时,“机器人流程自动化”(简称RPA&am…...
关于线程池你了解些什么?
前言学习线程池的思维导图线程池是什么?它有什么用?虽然线程比进程更轻量级,但是每个进程所占的资源空间是有限,如果我们频繁创建和销毁线程也会消耗很多CPU资源,那么我们该如何解决这个问题呢?官方解释:线程池是一种多线程处理形式,其处理过程可以将多个任务添加到阻塞队列…...
解决Vue devtools插件数据变化不会自动刷新
我们使用devtools插件在监测vuex中表单或自定义组件的数据,发现页面数据发生变化后,但是devtools中还是老数据,必须手动点击devtools刷新才能拿到最新的数据。很烦! 解决方案: 打开chrome的设置,向下翻&…...
【编写控制手机压测的脚本】
编写一个控制手机压测的脚本可以使用Python语言来实现。以下是一个简单的示例脚本: import subprocess import time# 打开app subprocess.call(["adb", "shell", "am", "start", "-n", "com.example.app/.…...
浏览器a标签下载txt、json文件自动打开预览的问题
背景 由于浏览器的特性.txt .pdf .json 等等文件放在a标签的href属性中会被浏览器直接打开,这时可以给a添加download属性强制下载,但是当执行 跨域下载 文件时download属性就会失效。 解决办法 跨域会导致download属性失效,使用xhr下载方式…...
random.seed()
random.seed(seed) 是 Python 标准 random 模块中的一个函数调用,它用于确保随机数生成器产生可重复的结果。这在科学计算和机器学习中非常重要,因为它允许研究者和开发者重现实验结果。 seed 通常是一个整数,用作随机数生成器的种子值。当你…...
Linux基础服务NFS入门篇
文章目录 Linux基础服务NFS入门篇0.前言1.NFS1.1NFS简介1.2NFS配置 Linux基础服务NFS入门篇 0.前言 本文根据大佬们的资料整理了NFS的基础知识, 加深对linux运维基础服务工具的理解,以便个人查询复习使用。 1.NFS 资料来自B站阿铭linux的印象笔记&#…...
详细解读DreamFusion
DreamFusion 是一种基于深度学习的图像生成技术,它能够将文本描述转换为高质量的图像。这项技术由斯坦福大学的研究者提出,它利用了一种称为“扩散模型”的生成模型,通过训练模型来学习文本和图像之间的关系。以下是对DreamFusion技术的详细解…...
发票审核如何自查?报销没有发票,如何处理?
在财务管理中,发票是非常重要的一项凭证,是费用核算和税务申报的重要依据,但光靠发票入账可能会被定义为虚开。 一、费用报销审核必看的6个要点 1、票据与实际业务吻合 这是费用报销中最基本的常识,比如:采购一批物料&…...
如何将图片表格转成excel?分享3种好用的软件!
在信息爆炸的时代,我们每天都会接触到大量的图片表格。这些表格中可能包含着我们需要的各种数据和信息,但是如何将它们快速、准确地转化为Excel格式,以便我们进行编辑、分析呢?今天,就让我们一起来探讨一下如何将图片表…...
java中的oop(一)、概念
一、三大主线 (非官方) 成员:属性、方法、构造器、(代码块,内部类); 特征:封装、继承、多态、(抽象)——三大特征; 关键字: this、…...
什么是职称评审?如何申报?怎么获取职称电子证书?
目录 一、什么是职称?什么是职称评审? 二、申报人申报职称评审要经过哪些流程?...
3D Gaussian Splatting for Real-Time Radiance Field Rendering 论文阅读
如此热门的项目,网络上有很多大牛分析了这篇文章的做法,在这里简单记录一下个人粗浅的理解。 关于各种数学表达式的推导,论文和参考资料中都提供了较为详细的解读,本人能力有限,这一部分理解不够深刻,先不做…...
python 声音
在Python中处理声音通常涉及到声音的录制、播放、编辑和转换等操作。以下是一些常用的Python库和方法,用于处理声音文件: 1. pyaudio - 音频输入/输出 pyaudio是一个跨平台的音频I/O库,它使用PortAudio库来处理音频流。 安装: p…...