图像处理适用于图像和视频。良好的图像处理结果会为后续的进一步处理带来很大的帮助,例如提取到图像中的直线有助于对图像中物体的结构进行分析,良好的特征提取会优化深度学习的结果等。今天我们来回顾一下图像处理中的最基础的,但是却非常实用的一些操作。

图像处理

图像处理始于计算机识别数据。首先,为图像格式的数据创建一个矩阵。图像中的每个像素值都被处理到此矩阵中。例如,为尺寸为200x200的图片创建尺寸为200x200的矩阵。如果此图像是彩色的,则此尺寸变为200x200x3(RGB)。实际上,图像处理中的每个操作都是矩阵运算。假设需要对图像进行模糊操作。特定的过滤器会在整个矩阵上移动,从而对所有矩阵元素或部分矩阵元素进行更改。作为该过程的结果,图像的所需部分或全部变得模糊。

在许多情况下都需要对图像进行处理[1]。通常,这些操作应用于将在深度学习模型中使用。例如,使用彩色图像进行训练会导致性能下降。卷积神经网络是图像处理最广泛使用的深度学习结构之一。该网络确定图像上卷积层训练所需的属性。在这一点上,仅图像中将用于训练的某些部分可能需要处理。图片中更圆的线条而不是清晰的线条突出有时可以提高训练的成功率。

除上述情况外,相同的逻辑还基于日常生活中使用的图像优化程序的操作。图像处理中有许多过程,例如提高图像质量,对图像进行还原,消除噪声,直方图均衡化。

OpenCV

OpenCV是用于图像处理的最流行的库之一[2]。有许多使用OpenCV的公司,例如Microsoft,Intel,Google,Yahoo。OpenCV支持多种编程语言,例如Java,C ++,Python和Matlab。本工作中的所有示例都是使用Python编码的。

import cv2
from matplotlib import pyplot as plt
import numpy as np

首先,导入库。OpenCV中的某些功能在每个版本中均无法稳定运行。这些功能之一是“ imshow”。此功能使我们可以查看由于操作导致的图像变化。对于有此类问题的人,matplotlib库将用作这项工作的替代解决方案。

图1.标准图像

要执行的过程将应用于上面显示的图像(图1)。最初会读取图像,以便对其进行处理。

img_path = "/Users/..../opencv/road.jpeg"
img = cv2.imread(img_path)
print(img.shape)>>>(960, 1280, 3)

图2中图像的尺寸为960 x 1280像素。当我们要在读取过程后打印尺寸时,我们看到960x1280x3的结果。因此,根据图像的尺寸创建了一个矩阵,并为该矩阵分配了图像每个像素的值。RGB有3个维度,因为图像是彩色的。

如果我们想将图像转换为黑白图像,则使用cvtColor函数。

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

如果要查看由于该函数而发生的更改,可以使用matplotlib中的imshow函数。

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray_image)
plt.show()
print(gray_image.shape)>>>(960, 1280)

图2.黑白图像

如图2所示,我们已将图像转换为黑白图像。当我们检查其尺寸时,不再有3个尺寸。 当查看图像的矩阵值时,我们看到它由0到255之间的值组成。在某些情况下,我们可能希望此矩阵仅由0到255的值组成[3]。在这种情况下使用阈值功能。

(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 20, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 80, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 160, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 200, 255, cv2.THRESH_BINARY)
plt.imshow(blackAndWhiteImage)
plt.show()

图3.应用了阈值功能的图像

OpenCV中阈值功能所需的第一个参数是要处理的图像。以下参数是阈值。第三个参数是我们要分配超出阈值的矩阵元素的值。可以在图3中看到四个不同阈值的影响。在第一张图像(图像1)中,该阈值确定为20.将20之上的所有值分配给255.其余值为设置为0。这仅允许黑色或非常深的颜色为黑色,而所有其他阴影直接为白色。图像2和图像3的阈值分别为80和160.最后,在图像4中将阈值确定为200.与图像1不同,白色和非常浅的颜色被指定为255,而所有在图4中将剩余值设置为0。

图像处理中使用的另一种方法是模糊。这可以通过多个功能来实现。

output2 = cv2.blur(gray_image, (10, 10))
plt.imshow(output2)
plt.show()

图4具有模糊功能的模糊图像

output2 = cv2.GaussianBlur(gray_image, (9, 9), 5)
plt.imshow(output2)
plt.show()

图5.具有高斯模糊函数的模糊图像

如图4和图5所示,黑白图像使用指定的模糊滤镜和模糊度模糊。此过程通常用于消除图像中的噪点。此外,在某些情况下,由于图像中的线条清晰,训练也会受到严重影响。出于此原因使用它的情况下可用。

在某些情况下,可能需要旋转数据以进行扩充,或者用作数据的图像可能会偏斜。在这种情况下,可以使用以下功能。

(h, w) = img.shape[:2]
center = (w / 2, h / 2)
M = cv2.getRotationMatrix2D(center, 13, scale  =1.1)
rotated = cv2.warpAffine(gray_image, M, (w, h))
plt.imshow(rotated)
plt.show()

图6.具有getRotationMatrix2D函数的旋转图像

首先,确定图像的中心,并以此中心进行旋转。getRotationMatrix2D函数的第一个参数是计算出的中心值。第二个参数是角度值。最后,第三个参数是旋转后要应用的缩放比例值。如果将此值设置为1,它将仅根据给定的角度旋转同一图像,而不会进行任何缩放。

实验1

上述方法通常在项目中一起使用。让我们制作一个示例项目,以更好地了解这些结构和过程。

假设我们要训练车辆的自动驾驶飞行员[4]。当检查图1中的图像以解决此问题时,我们的自动驾驶仪应该能够理解路径和车道。我们可以使用OpenCV解决此问题。由于颜色在此问题中无关紧要,因此图像将转换为黑白。矩阵元素通过确定的阈值设置值0和255。如上面在阈值功能的解释中提到的,阈值的选择对于该功能至关重要。该问题的阈值设置为200。我们可以清除其他详细信息,因为这足以专注于路边和车道。为了消除噪声,使用高斯模糊函数执行模糊处理。可以从图1到5详细检查到此为止的部分。

这些过程之后,将应用Canny边缘检测。

img = cv2.imread(img_path)gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)(thresh, output2) = cv2.threshold(gray_image, 200, 255, cv2.THRESH_BINARY)output2 = cv2.GaussianBlur(output2, (5, 5), 3)output2 = cv2.Canny(output2, 180, 255)plt.imshow(output2)plt.show()

图7. Canny函数结果图像

Canny函数采用的第一个参数是将对其执行操作的图像。第二参数是低阈值,第三参数是高阈值。逐像素扫描图像以进行边缘检测。一旦存在低于下阈值的值,则检测到边缘的第一侧。当找到一个比较高阈值高的值时,确定另一侧并创建边缘。因此,为每个图像和每个问题确定阈值参数值。为了更好地观察高斯模糊效果,让我们做同样的动作而又不模糊这次。

img = cv2.imread(img_path)
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
(thresh, output2) = cv2.threshold(gray_image, 200, 255, cv2.THRESH_BINARY)
output2 = cv2.Canny(output2, 180, 255)
plt.imshow(output2)
plt.show()

图8.非模糊图像

如果未实现GaussianBlur函数,则噪声在图8中清晰可见。这些噪声对于我们的项目可能不是问题,但它们将对不同项目和情况下的培训成功产生重大影响。在该阶段之后,基于确定的边缘在真实(标准)图像上执行处理。为此使用HoughLinesP和line函数。

lines = cv2.HoughLinesP(output2, 1, np.pi/180,30)
for line in lines:x1,y1,x2,y2 = line[0]cv2.line(img,(x1,y1),(x2,y2),(0,255,0),4)
plt.imshow(img)

图9.应用了HoughLinesP函数的图像

如图9所示,可以很好地实现道路边界和车道。但是,当仔细检查图9时,会发现一些问题。尽管确定车道和道路边界没有问题,但云也被视为道路边界。应该使用掩蔽方法来防止这些问题[5]。

def mask_of_image(image):height = image.shape[0]polygons = np.array([[(0,height),(2200,height),(250,100)]])mask = np.zeros_like(image)cv2.fillPoly(mask,polygons,255)masked_image = cv2.bitwise_and(image,mask)return masked_image

我们可以使用mask_of_image函数进行屏蔽过程。首先,将要掩盖的区域确定为多边形。参数值完全是特定于数据的值。

图10.确定的遮罩区域

蒙版(图10)将应用于真实图片。对与真实图像中黑色区域相对应的区域不进行任何处理。但是,上述所有过程都应用于与白色区域相对应的区域。图11.遮罩应用的图像

如图11所示,通过屏蔽过程,我们解决了在云中看到的问题。

实验2

我们使用HougLinesP解决了车道识别问题。让我们假设这个问题适用于圆形[6]。图12.硬币图像[8]

让我们创建一个识别图12中硬币的图像处理。在这种情况下,这里还将使用车道识别项目中使用的方法。

img = cv2.imread("/Users/.../coin.png")
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
(thresh, output2) = cv2.threshold(gray_image, 120, 255, cv2.THRESH_BINARY)
output2 = cv2.GaussianBlur(output2, (5, 5), 1)
output2 = cv2.Canny(output2, 180, 255)
plt.imshow(output2, cmap = plt.get_cmap("gray"))circles = cv2.HoughCircles(output2,cv2.HOUGH_GRADIENT,1,10,                       param1=180,param2=27,minRadius=20,maxRadius=60)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:# draw the outer circlecv2.circle(img,(i[0],i[1]),i[2],(0,255,0),2)# draw the center of the circlecv2.circle(img,(i[0],i[1]),2,(0,0,255),3)plt.imshow(img)

图13.最终硬币图片

作为图像处理的结果,可以在图13中找到i。图像被转换为黑白图像。然后应用阈值函数。使用了高斯模糊和Canny边缘检测功能。最后,使用HoughCircles函数绘制圆。 图像处理也适用于图像格式的文本。

图14.图像格式的文本

假设我们要使用图14中所示的文本来训练我们的系统,我们希望通过训练,我们的模型可以识别所有单词或某些特定单词。我们可能需要向系统传授单词的位置信息。OpenCV也用于此类问题。首先,图像(在图14中)被转换为文本。为此,使用了一种称为Tesseract的光学字符识别引擎[7]。

data = pytesseract.image_to_data(img, output_type=Output.DICT, config = "--psm 6")
n_boxes = len(data['text'])
for i in range(n_boxes):(x, y, w, h) = (data['left'][i], data['top'][i], data['width'][i], data['height'][i])cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
plt.imshow(img)
plt.show()

图15.单词位置信息的处理

通过将在Tesseract的帮助下获得的信息与OpenCV相结合,可以实现图15所示的图像。每个单词和每个单词块都用圆括起来。通过操纵来自Tesseract的信息,也可以只操纵框架中的某些单词。另外,可以应用图像处理以从噪声中清除文本。但是,如果将其他示例中使用的GaussianBlur函数应用于文本,则会对文本的质量和易读性产生不利影响,因此将使用midBlur函数代替GaussianBlur函数。

img = cv2.imread(img_path)
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
output2 = cv2.medianBlur(gray_image, ksize=5)
plt.imshow(output2)
plt.show()

图16. meanBlur函数应用的图像

在图14中检查图像时,虚线在某些单词下方清晰可见。在这种情况下,光学字符识别引擎可能会误读某些单词。图16中位数模糊处理的结果是,这些虚线消失了。

注意:必须检查黑白图像矩阵的尺寸。大多数情况下,即使是黑白,也有RGB尺寸。这可能会导致在OpenCV的某些函数中出现尺寸错误。

侵蚀和膨胀功能也可以用来消除图像格式文本的干扰。

kernel = np.ones((3,3),np.uint8)
output2 = cv2.dilate(gray_image,kernel,iterations = 3)
plt.imshow(output2)
plt.show()

图17.膨胀函数产生的图像

当查看图14中的文本时,将看到存在一些点形噪声。可以看出,使用图17中的膨胀函数可以大大消除这些噪声。可以通过更改创建的滤波器和迭代参数值来更改制品的稀疏率。必须正确确定这些值,以保持文本的可读性。与扩张功能相反,侵蚀功能使文本变粗。

kernel = np.ones((3,3),np.uint8)
output2 = cv2.erode(gray_image,kernel,iterations = 3)
plt.imshow(output2)
plt.show()

图18.侵蚀功能产生的图像

如图18所示,使用Erode功能可以增加字体的粗细。这是一种通常用来提高用精细字体书写的文章质量的方法。这里要注意的另一点是,我们的文章为黑色,背景为白色。如果背景为黑色,文本为白色,则将取代这些功能的过程。

OpenCV用于提高某些图像的质量。例如对比度差的图像的直方图值分布在狭窄的区域。 为了提高该图像的对比度,有必要将直方图值分布在很大的区域上。equalizeHist函数用于这些操作。让我们对图19中的图像进行直方图均衡。

图19.直方图值未修改的图像(原始图像)图20.原始图像的直方图分布

原始图像的直方图(图19)可以在图20中看到。 图像中对象的可见性很低。

equ = cv2.equalizeHist(gray_image)
plt.imshow(equ)

图21.直方图均衡图像图22.直方图均衡图像的直方图分布

直方图由equalizeHist函数均衡的图像如图21所示。图像的质量和清晰度得到了提高。此外,在图22中完成了直方图均衡化的图像的直方图图形可以看出,在直方图均衡化之后,图20中一个区域中收集的值分布在更大的区域上。可以为每个图像检查这些直方图值。必要时可以通过使直方图相等来提高图像质量。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 【每日一题】K 个一组翻转链表

    本题为LeetCode困难题,详见:25. K 个一组翻转链表 题目描述: 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍&…...

    2024/3/6 13:26:29
  2. HDU2435 There is a war(最小割优化)

    很奇怪的题… 很明显可以枚举两个点来加inf边计算最小割 就这样勇敢的草了一发,发现tletletle 考虑优化,跑一遍最小割会把源点和汇点分成两个集合 那么枚举的两个点如果在一个点集,那么原来的割就可以割掉,没有意义 这样,只需要枚举不在一个点集的边就可以 注意加边后跑最…...

    2024/3/21 20:16:53
  3. (Java)HashMap与ArrayMap

    数据量比较小,并且需要频繁使用Map存储数据时,推荐使用ArrayMap,数据量偏大,推荐使用HashMap。 前面的文章有写过HashMap,就不多阐述了,这篇文章主要的是讲讲ArrayMap与HashMap的区别。 ArrayMap与HashMa…...

    2024/3/7 12:23:08
  4. 中国银行网点全集数据

    目录**中国银行网点全集数据**一、数据简介二、时间区间三、字段展示四、样本数据八、数据更新频率中国银行网点全集数据 一、数据简介 经济繁荣离不开银行等金融机构的广泛参与。然而,随着经济金融深刻变化,且受到存贷利差缩减、利润来源改变、在岗人…...

    2024/3/7 12:27:46
  5. leetcode *剑指 Offer 64. 求1+2+…+n

    【题目】*剑指 Offer 64. 求12…n 求 12…n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1: 输入: n 3 输出: 6示例 2: 输入: n 9 输出: 45限制&#xff1a…...

    2024/3/7 16:56:36
  6. 这篇学位论文对欠驱动系统说得不错《欠驱动非线性系统控制问题的研究》

    这篇学位论文对欠驱动系统说得不错,学位论文确实要写得详细些。 而且可以由此推一下,一个欠驱动系统怎么变为全驱动系统,平衡车再加一个轮子(平衡车是两个自由度,一个水平位移,一个角度,一个输…...

    2024/3/7 8:36:34
  7. LeetCode 21 合并两个有序链表

    题目描述: 代码(常规解法): /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val,…...

    2024/3/7 12:06:08
  8. [补题篇] Codeforce 1417C (伪DP)

    题目链接&#xff1a;传送门~~ 题目大意 给一个长度为 n 的序列a&#xff0c;并且每个数的范围为 1 < a[i] < n. 定义 k 值为&#xff1a;在序列 a 中所有长度为 k 的子串中都存在的最小数&#xff0c;如果没有这样的数&#xff0c;此时的 k -1. 问&#xff1a;给出 1 …...

    2024/3/7 18:08:23
  9. Nginx解决跨域问题

    Nginx解决跨域问题 跨域问题 1.当我们在同一个站点请求时&#xff0c;是不存在什么问题的&#xff0c;但是当我们从一个站点想另外一个站点访问的时候就会出现跨域问题&#xff0c;现状如图b1-1 解决跨域问题&#xff08;CORS跨域资源共享&#xff09; 1.Cross-Origin Re…...

    2024/3/7 5:24:39
  10. Hello World. Hello CSDN.

    我是老白。 程序员的世界有一个传说&#xff0c;当学习一门新的语言&#xff0c;编写的第一个程序必须是“Hello World”&#xff0c;这是对编程之神的献礼&#xff0c;请编程之神保佑接下来的学习顺顺利利。 本俗人同样需要大神庇佑&#xff0c;恭敬敲下“Hello World. Hello …...

    2024/3/7 12:21:13
  11. AD72讲

    AD72讲第1讲Altium常用系统参数的设置1.1 中英文切换1.2文件的关联二级目录三级目录第1讲Altium常用系统参数的设置 1.1 中英文切换 1.2文件的关联 二级目录 三级目录...

    2024/3/7 7:09:47
  12. dfs+剪枝

    下图中&#xff0c;每个方块代表 1…13 中的某一个数字&#xff0c;但不重复。 例如&#xff1a; 1297135 108−123114 只要有任意一个方块代表的数字不同&#xff0c;就算两种不同的方案。 请你计算&#xff0c;一共有多少种不同的方案。 #include <stdio.h> int…...

    2024/3/24 3:15:48
  13. 百度爬取100张狗狗图片

    因为百度上狗狗图片是动态加载的,用requests爬取到的图片只有30张,所以去我选择用selenium.为了方便分析网页代码,我习惯将代码写入文件,方便查看异常,另外还可以避免重复爬取被拉黑.代码如下: import requests from lxml import etree from selenium import webdriverurl &q…...

    2024/3/13 17:37:31
  14. 交换机端口vlan tag/untag处理情况

    为了理解VLAN内报文的转发&#xff0c;就必须要知道交换机对于不同VLAN报文的tag/untag的处理原则。 首先&#xff0c;需要明确一点就是&#xff0c;在交换机的内部&#xff0c;为了快速高效的处理&#xff0c;报文都是带tag转发的。其实&#xff0c;这点很好理解&#xff0c;…...

    2024/3/19 11:56:35
  15. python实现九九乘法表

    在自学python的过程中&#xff0c;还是需要不断的积累&#xff0c;废话不说&#xff0c;下面就通过使用python中的for..in &#xff0c;在不使用函数的情况下分别实现九九乘法表不同格式的输出&#xff0c;若有误或者有更好的方法&#xff0c;欢迎大家留言&#xff0c;加油&…...

    2024/3/25 19:57:50
  16. 使用SpringTask定时获取传感器设备信息并缓存到Redis

    1&#xff09;整合:略。因为在Spring-context包中已经整合过了 2&#xff09;使用&#xff1a;写一个方法&#xff0c;然后加上规则&#xff0c;他就会被定时执行 /*** 项目启动后从数据库将各设备的信息和阈值查询出来放入redis* 五分钟一次*/ //0 */5 * * * ? Scheduled(c…...

    2024/3/21 13:25:58
  17. paddleocr笔记(一)

    参考&#xff1a;C 编译 PaddleOCR&#xff08;CPU版&#xff09; 由于paddle带GPU的c库太大没有搞起来&#xff0c;就先从CPU库入手。 基本步骤是按照参考博客操作的。 不同之处&#xff1a;没有直接使用vs2019的直接编译CMake&#xff0c;而是之前使用cmake的经验&#xf…...

    2024/3/23 22:35:44
  18. command create requires authentication(MongoDB 创建集合失败)

    command create requires authentication… 创建集合失败 原因&#xff1a;权限不够 用密码账号登录...

    2024/3/25 15:05:24
  19. Python常用的几种去重方式

    由于Python的去重方式比较多&#xff0c;本人在项目中总结了几种常用方法&#xff0c;欢迎补充。 一、对列表去重 1.用循环查找的方式 li [1,2,3,3,4,2,3,4,5,6,1] news_li [] for i in li: if i not in news_li: news_li.append(i) print (news_li) 2.用集合的特…...

    2024/3/25 19:57:50
  20. maven如何手动将jar包放到本地仓库

    1.首先电脑要安装好maven 2.下载要放到仓库的jar包例如我要放的是org.json.jar 3.把下载的包随意放一个位置 4.在jar包目录下打开cmd输入&#xff1a; mvn install:install-file -Dfileorg.json.jar -DgroupIdorg.json -DartifactIdorg.json -Dversion2.0 -Dpackagingjar …...

    2024/3/23 10:08:31

最新文章

  1. 方法事件处理器

    随着事件处理器的逻辑变得愈发复杂&#xff0c;内联代码方式变得不够灵活。因此 v-on 也可以接受一个方法名或对某个方法的调用。 举例来说&#xff1a; const name ref(Vue.js)function greet(event) {alert(Hello ${name.value}!)// event 是 DOM 原生事件if (event) {ale…...

    2024/3/29 1:02:05
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. HCIP —— 生成树 (下)

    目录 STP&#xff08;生成树&#xff09;的角色选举 根网桥 根端口 选举规则&#xff1a; 指定端口 生成树的端口状态 STP的接口状态&#xff1a;禁用、阻塞、侦听、学习、转发 五种状态 禁用状态 阻塞状态 侦听状态 学习状态 转发状态 当生成树拓扑结构发生变化 …...

    2024/3/28 18:59:53
  4. 【物联网开源平台】tingsboard二次开发环境搭建+编译

    文章目录 一&#xff0c;需要准备的环境二&#xff0c;获取tingsboard源码1.git拉取源码2.下载源码压缩包 三.新建仓库存放依赖文件四&#xff0c;编译五&#xff0c;遇到的错误 提示&#xff1a; 1.这篇只要准备两个环境&#xff0c;方法更简单&#xff01; 2.基于tingsboard …...

    2024/3/27 22:13:15
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/3/28 16:59:55
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/3/28 4:39:34
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/3/28 5:03:31
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/3/28 19:59:46
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/3/28 21:57:52
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/3/28 9:07:44
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/3/28 18:09:48
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/3/28 21:57:50
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/3/28 9:58:22
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/3/28 10:24:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/3/28 19:51:36
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/3/28 19:36:32
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/3/28 17:15:47
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/3/28 8:42:54
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/3/28 8:14:39
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/3/28 19:58:12
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/3/28 21:57:45
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/3/28 8:24:01
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/3/28 5:29:22
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/3/28 9:26:43
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57