人工智能图像形状检测算法

news2024/11/15 7:35:59

                                                        博主简介

博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c++,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的,如果有错误之处,大家可以指正。

专栏简介:   本专栏主要研究python在人工智能方面的应用,涉及算法,案例实践。包括一些常用的数据处理算法,也会介绍很多的Python第三方库。如果需要,点击这里   专栏订阅 。

给大家分享一个我很喜欢的一句话:“每天多努力一点,不为别的,只为日后,能够多一些选择,选择舒心的日子,选择自己喜欢的人!

                                                       


目录

角点检测

Harris算子

goodFeaturesToTrack算子

几何形状检测

Hough算法

直线检测

圆检测

 尺度不变特征变换



角点检测

在进行图像匹配的时,通常需要对两幅图像中的特征点进行匹配。为了保证匹配的准确性,选择的特征点必须具有其独特性,而图像的角点则经常被看成是一种不错的选择。由观察可知,角点往往是两天边缘的交点,它是两条边缘方向变换的一种表示,因此,其两个方向的梯度变化通常都比较大并且容易检测。人们通过在一个小小的窗口区域内观察像素点的灰度值大小来识别角点,如果向任何方向移动窗口都会引起较大的灰度变化,则该位置往往就是我们要找的角点。


Harris算子

对于角点检测,有很多的算法,其中Harris 算法是最常用的角点检测算法之一,算法依据的正是上图的直观判断。

要衡量在某个方向上的梯度变化大小,可定义图像在某个方向上灰度的变化E(u,v)。

E(u,v)=\Sigma_x_y w(x,y)(I(x+u,y+v)-I(x,y))^{2}

其中w(x,y)为窗口函数,它可以是如图所示的加权函数,也可以是高斯函数。

向量(u,v)表示某个方向,以及在该方向上的位移。I(x,y)表示像素灰度值强度,范围为0~255,I(x+u,y+v)表示位移强度。由上述公式可知,我们要研究在哪个方向上图像灰度值变化最大,只需令E(u,v)的值最大即可,因为E(u,v)表示的是某个方向上图像灰度的变化。而求解问题,则可通过泰勒展开式:

I(x+u,y+v)=I(x,y)+uI_x+vI_y+O(x,y)

得到:

(I(x+u,y+v)-I(x,y)^{2})\approx (uI_x+vI_y)^{2}\approx\begin{pmatrix} [u,v] &\begin{bmatrix} I_x\\ I_y \end{bmatrix} \end{pmatrix}\begin{pmatrix} [I_x,I_y] &\begin{bmatrix} u\\ v \end{bmatrix} \end{pmatrix} \approx \begin{bmatrix} u &v \end{bmatrix}\begin{bmatrix} I_xI_x &I_xI_y \\ I_yI_x&I_yI_y \end{bmatrix}\begin{bmatrix} u\\v \end{bmatrix}

记上式最后结果为\Delta,则得到:E(u,v)=\sum _x_yw(x,y)\cdot \Delta =[u,v]M\begin{bmatrix} u\\v \end{bmatrix}

其中M为2*2的Harris矩阵,I_x和I_y分别是x方向和y方向的图像导数(灰度值强度),则可得:M=\sum _x_yw(x,y)\begin{bmatrix} I_x^{2} &I_xI_y \\ I_yI_x & I_y^{2} \end{bmatrix}

根据Harris矩阵来计算矩阵特征值\lambda _1,\lambda_2,并通过一个评分函数R来判断一个窗口中是否含有角点:

R=det(M)-k(trace(M)^{2})

其中,det(M)=\lambda_1,\lambda_2,trace(M)=\lambda_1+\lambda_2\lambda_1,\lambda_2皆为M的特征值。上述公式即为:

R=\lambda_1\lambda_2-K(\lambda_1+\lambda_2)^{2}.

这些特征值决定了一个区域是否为角点,边缘或平面。

①.当λ1和λ2都很小时,|R|的值也很小,则该区域为平坦区域。

②.当λ1>>λ2,或者λ1<<λ2,则该区域为边缘。

③.当λ都很大时,且λ1≈λ2时,也很大,则该区域为角点。

因此,Harris角点检测可以“R>阈值”作为条件判断一个图像区域是否为为角点。J·西(J·Shi)和C·托马西(C·Tomasi)于1994年在其论文“Good Features to Track”中提出了一种对Harris角点检测算子的改进算法,也就是Shi—Tomasi角点检测算子。我们也可以通过goodFeaturesToTrack算法进行角点检测,它同样定义了评分函数R,也是用R值的大小来判断区域是否为特征点:

R=min(\lambda_1\lambda_2)

我们这里就直接使用OPenCV中的角点检测函数。

函数原型:

cv2.cornerHarris(src,blocksize,ksize,k[,dst[,borderTypr]])

参数说明:

(1).src:目标图像。

(2).blocksize:窗口大小。

(3).ksize:Sobel的孔径参数(Aperture Parameter),也就是Sobel核的半径,如1,3,5,7。

(4).k:R公式中的k,默认取0.04。

基于Harris角点检测的示例代码:

import numpy as np
import cv2
#将图像导入将其转化为float类型,用于传递给Harris函数
filename='D:\Image\\four.jpg'
img=cv2.imread(filename)
gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray_img=np.float32(gray_img)
#对图像进行角点检测
Harris_detector=cv2.cornerHarris(gray_img,2,3,0.04)
#对图像进行膨胀处理,将灰度值增大(视觉上比较亮)的区域增强扩展,主要用来连通相似颜色或强度的区域
dst=cv2.dilate(Harris_detector,None)
#设置阈值
thres=0.01*dst.max()
#对角点进行红色标记
img[dst>thres]=[0,0,255]
cv2.imshow('Harris角点检测',img)
cv2.waitKey()

代码结果展示:

根据图像我们可以发现,角点的检测有些不太准确,只能检测较为明显的角点,并且存在很多的错误角点标记。于是,opencv便推出了更为精确的算法函数。


goodFeaturesToTrack算子

函数原型:

cv2.goodFeaturesToTack(image,maxCorners,qualityLevel,minDistance,[,corners[,mask[,blocksize[,useHarrisDetector[,k]]]])

参数说明如下:

(1).image:待检测目标图像

(2).maxCorners:最大数目的角点数

(3).qualityLevel:该参数指出最低可接受的角点质量,是一个百分数,实例中给0.01。

(4).minDistance:焦点之间最小的欧拉距离,避免得到相邻特征点。

(5).mask:可选参数,给出ROI。

利用goodFeaturesToTrack算法进行图像检测示例代码:

#goodFeaturesToTrack算法
import numpy as np
import cv2
#读入图像
filename='D:\Image\\four.jpg'
img=cv2.imread(filename)
img2=img
#将其转换为float型
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img_gray=np.float32(img_gray)
#得到角点坐标向量
goodFeatures_corners=cv2.goodFeaturesToTrack(img_gray,25,0.01,10)
goodFeatures_corners=np.int0(goodFeatures_corners)
for i in goodFeatures_corners:
    x,y=i.flatten()
    #用绿点标记角点
    cv2.circle(img2,(x,y),3,[0,255,],-1)
cv2.imshow('goodFreaturesToTack角点检测',img2)
cv2.waitKey()

其中绿点表示角点,从两个算法检测结果来看,对于图像角点的标记,goodFeaturesToTrack算法更为精确,准确性高,但是也有误差。


几何形状检测

在数字图像中,往往存在一些特殊形状的几何图形,例如人眼瞳孔的圆形,建筑物立面的直线等。在图像处理与识别中,物体的形状属于高级信息,而基本几何形状是图像目标的主要特征之一,在数字图像中对其进行准确的检测有重要意义。

Hough算法

Hough变换是一种常用的几何图形检测算法,其基本原理是将特定图形上的点变换到一组参数空间上,然后根据参数空间点的累加结果找到一个极大值对应的解,而这个解正对应着要寻找的几何形状的参数(例如直线的斜率k与常数b,圆的圆心o与半径r等)。

\rho=xcos\Theta +ysin\Theta

Hough变换算法的基本步骤:

①.将参数空间(\rho ,\Theta)量化,赋初值为一个二维矩阵M,M(ρ,θ)就成了一个累加器。

②.对图像边界上的每一个点进行变换,变换后属于那一组(ρ,θ),就把该组(ρ,θ)对应的累加器数加1,这里需要变换的点就是上面说的经过边缘提取以后的图像。

③.处理完成所有点后,分析得到的M(ρ,θ),设置一个阈值T,当M(ρ,θ)>T,就认为存在一条有意义的直线。

④.有了M(ρ,θ)和点p(x,y),我们就可以计算出对应的直线。

直线检测

OpenCV内置的置于Hough算法的直线检测函数有标准Hough变换函数HoughLines()和统计Hough变换函数HoughLinesP(),二者的参数和用法基本一致。我们的示例代码以HoughLinesP()函数为例。

函数原型:

HoughLinesP(image,rho,theta,threshold[,lines[,minLineLength[,maxLineGap]]])

参数说明如下:

(1)image:8比特单通道灰度原图

(2)rho:极坐标参数距离分辨率,即ρ的精度。

(3)theta:极坐标参数角度分辨率,即θ的精度

(4)threshold:设定的阈值,大于此阈值的线段才可以被检测通过并返回到结果中。值越大,意味着检测出的线段越长,检测出的线段个数越少。

(5)lines:函数返回的矢量,包含所有键的到的直线的参数。

(6)minLineLength:线段的最小长度

(7)maxLineGap:点到直线被允许的最大距离。

基于Hough变换算法的图像直线检测示例代码:

#形状检测
import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread('D:\Image\\four.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转化为灰度图像
#对图像进行Canny边缘检测
edges=cv2.Canny(gray,50,200) #基于Canny算子的图像边缘检测
plt.subplot(121)
plt.imshow(edges,'gray')
plt.xticks([])
plt.yticks([])
#基于统计Hough变换的直线检测
lines=cv2.HoughLinesP(edges,1,np.pi/180,30,minLineLength=60,maxLineGap=10)
lines1=lines[:,0,:]#返回包含检测到的所有直线的二维矩阵
for x1,y1,x2,y2 in lines1[:]:
    cv2.line(img,(x1,y1),(x2,y2),(255,255,0),1) #在图像中用黄色的线标记检测出的直线
plt.subplot(122)
plt.imshow(img,)
plt.xticks([])
plt.yticks([])
plt.show()

结果展示:

根据图像显示,黄色标记的为直线,图像检测结果较为准确,但是依然存在部分重叠,这就需要程序员根据自己的需要调参数。

圆检测

对于圆的检测,我们知道圆的数学方程为:

(x-x_center)^{2}+(y-y_center)^{2}=r^{2}

因此,一个圆的确定至少需要3个参数,那么Hough变换的累加器必须是三维的,需要通过三层循环来实现,从而把图像上的所有点映射到三维参数空间上。理论上,圆的检测比直线检测费时,不过OpenCV进行了优化。

函数原型即其参数说明:

cv2.HoughCircles(image,method,dp,minDist[, circles[,param1, param2[,minRadius[,maxRadius]]]]])

(1). image 不用多说,输入矩阵
(2).method cv2.HOUGH_GRADIENT 也就是霍夫圆检测,梯度法
(3).dp 计数器的分辨率图像像素分辨率与参数空间分辨率的比值(官方文档上写的是图像分辨率与累加器分辨率的比值,它把参数空间认为是一个累加器,毕竟里面存储的都是经过的像素点的数量),dp=1,则参数空间与图像像素空间(分辨率)一样大,dp=2,参数空间的分辨率只有像素空间的一半大
(4).minDist 圆心之间最小距离,如果距离太小,会产生很多相交的圆,如果距离太大,则会漏掉正确的圆
(5).param1 canny检测的双阈值中的高阈值,低阈值是它的一半
(6).param2 最小投票数(基于圆心的投票数)
(7).minRadius 需要检测院的最小半径
(8).maxRadius 需要检测院的最大半径

基于Hough算法的圆形图像检测示例代码:

#圆形检测
import numpy as np
import cv2
import matplotlib.pyplot as plt
img=cv2.imread('D:\Image\circle.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
plt.subplot(121)
plt.imshow(gray,'gray')
plt.xticks([])
plt.yticks([])
#基于Hough算法的圆形检测
circles1=cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT,1,100,param1=100,param2=30,minRadius=150,maxRadius=200)
circles=circles1[0,:,:] #返回检测道德圆的参数
circles=np.uint16(np.around(circles)) #四舍五入,取整
for i in circles[:]:
    cv2.circle(img,(i[0],i[1]),i[2],(255,0,0),5) #画圆
    cv2.circle(img,(i[0],i[1]),2,(255,0,255),10) #画圆心
plt.subplot(122)
plt.imshow(img)
plt.xticks([])
plt.yticks([])
plt.show()

标记内圆则需要更改参数(minRadius,maxRadius),这里更改参数后的标记如图:

 尺度不变特征变换

尺度不变特征转化(Scale-Invariant Feature Transform,SIFT)是用于图像处理的一种算法,是一种局部特征描述算子,具有尺度不变性,可在图像中检测出关键点。

该算法于1999年由戴维·劳(David Lowe)在计算机视觉国际会议(International Conference on Computer Vision,ICCV)中首次提出,2004年,他再次整理完善后将相关论文发表于国际计算机视觉杂志(International Journal of Computer Vision,IJCV)。SIFT算法是用于提取图像局部特征的经典算法,其实质是在不同的尺度空间查找关键点(特征点),并计算出关键点的方向。SIFT所查找的关键点是一些十分突出,不会因光照,仿射变换(Affine Transformation)和噪声等因素而变化的点,如角点,边缘点,暗区的亮点及亮区的暗点等。

OpenCV内置了SIFT算法的诸多函数,包括示例化SIFT类的cv2.xfeatures2d.SIFT_create().

在图像中查找关键点的sift.detect(gray,None),计算找到关键点的描述符的sift.compute(grag,kp)以及在图中画出关键点的cv2.drawKeypoints(gray,kp,img)。

示例代码如下:


#尺度不变特征变换
import cv2
import numpy as np
from matplotlib import pyplot as plt
def getSift():
    '''
    定义函数用于查看SIFT特征
    '''
    img_path1='D:\Image\girl.jpg'
    img=cv2.imread(img_path1)
    #将其转换为灰度图像
    img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    #创建SIFT的类
    sift=cv2.SIFT_create() #版本改进,原来的函数为xdefaures2d.SIFT_create()
    #在图像中找到关键点
    kp=sift.detect(img_gray,None)
    #keypoint数据分析
    print(kp[0].pt)
    #计算每个关键点的SIFT特征
    des=sift.compute(img_gray,kp)
    print(type(kp),type(des))
    #des[0]为关键点的list,des[1]为特征向量的矩阵
    print(type(des[0]),type(des[1]))
    print(des[0],des[1])
    print(des[1].shape)
    #在灰度图像中找出这些点
    img=cv2.drawKeypoints(img_gray,kp,np.array([]),(255,0,0),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
    plt.imshow(img)
    plt.show()
getSift()

结果展示:

找到了关键点,那我们也就可以对两张图片进行匹配,shiyongSIFT算法进行图像匹配示例代码:

import cv2
from matplotlib import pyplot as plt
img1=cv2.imread('D:\Image\\temp1.jpg',0) #载入第一幅图像
img2=cv2.imread("D:\Image\\temp2.jpg",0) #第二幅
#初始化SIFT检测器
sift=cv2.SIFT_create()
#通过SIFT检测找到关键点kp和描述子des
kp1,des1=sift.detectAndCompute(img1,None)
kp2,des2=sift.detectAndCompute(img2,None)
#蛮力匹配算法,有两个参数,距离度量(L2(default),L1),是否交叉匹配(默认为False)
bf=cv2.BFMatcher()
#返回k个最佳匹配
matches=bf.knnMatch(des1,des2,k=2)
good=[]
for m,n in matches:
    if m.distance<0.75*n.distance:
        good.append([m])
img3=cv2.drawMatchesKnn(img1,kp1,img2,kp2,good[:10],None,flags=2)
plt.imshow(img3)
plt.show()

 

结果展示:

 如果各位小伙伴认为本篇文章有用的,可以点赞收藏哦!预祝大家新年快乐!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis下载安装与配置(linux)

一、Redis下载与安装 1.下载安装包 官网下载地址&#xff1a;Download | Redis 点击"Download 7.0.7"&#xff0c;即可进行下载。 2.将安装包上传至服务器 2.1将安装包上传至/usr/local目录并解压 cd /usr/local lstar -zxvf redis-7.0.7.tar.gz2.2删除安装包 r…

第二天总结 之 商品类型管理界面的实现 之 添加和修改操作 的实现

添加和修改操作 页面跳转问题 点击修改按钮时 跳转的路径 如下 点击添加按钮时 跳转的路径如下 通过这两张图片 不难发现 跳转的是同一个jsp 但是添加操作 是不带id跳转 而修改操作是带着id跳转 所以在其 跳转的页面add_goods_type.jsp页面中 有一个这样的判断 如果没有id…

Linux常用命令——tmux命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) tmux Tmux是一个优秀的终端复用软件&#xff0c;类似GNU Screen&#xff0c;但来自于OpenBSD&#xff0c;采用BSD授权。 补充说明 使用它最直观的好处就是&#xff0c;通过一个终端登录远程主机并运行tmux后&a…

2022年HarmonyOS/OpenHarmony生态观察

一、鸿蒙生态世界快速构建升级中 HarmonyOS鸿蒙2019年正式面世&#xff0c;当时消费者只能在华为的智慧屏上体验&#xff1b;2020年&#xff0c;鸿蒙智联-华为面向智能硬件生态伙伴全新品牌和开放平台发布&#xff1b;2021年&#xff0c;智能手机等多种终端全面搭载HarmonyOS2…

UE4 RenderDoc笔记

1.Meh Viewer&#xff1a;当前DrawCall的Mesh信息&#xff0c;可以查看每个点的输入和输出 可以看到该DrawCall的Mesh顶点数量为510&#xff08;该材质ID的Mesh三角面数&#xff09;170*3&#xff0c;第一个顶点ID为3637 2.Texture Viewer:查看该次事件所调用的输入、输出缓…

【进阶】Spring Boot创建和使用

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、Spring Boot 概述二、Spring Boot优点三、Spring Boot项目创建1. 使用IDEA创建&#xff08;社区版&#xff09;2. 网页版创建&#xff08;了解&#xff09;四、项目目录介绍和运行1. 项目目录介绍2. 输出hello w…

Win10 Hyper-V 固定虚拟机IP地址的方法

Windows10系统Hyper-V中存在着一个名为“Default Switch”的缺省虚拟交换机&#xff0c;其本质上是一块虚拟网卡&#xff0c;其所连接的虚拟网络的类型为"Internal"&#xff08;有关Hyper-V三种网络类型的含义&#xff0c;可参看《Hyper-V三种虚拟网络类型的理解_bol…

“深度学习”学习日记。误差反向传播法--算法实现

2023.1.18 经过学习了计算图、链式法则、加法层、乘法层、激活函数层、Affine层、Softmax层的反向传播的实现。今天来学习反向传播法的算法实现&#xff0c;做一次总结&#xff1b; 实现的思路&#xff08;“学习”的步骤&#xff09;&#xff1a; 一&#xff0c;前提 神经…

4.Java的基础语法

小伙伴们,本篇内容让我们一起来总结学习Java的基础语法吧!&#x1f609; 文章目录一、注释二、关键字三、字面量(也被叫做:常量/字面值常量)四、一些特殊字面量的书写五、变量(1)变量的定义格式:(2)输出打印变量:(3)变量的基本用法:(4)变量的注意事项:(5)变量的练习总结一、注释…

【第二章 Excel数据格式】

Excel数据格式1.Excel数据格式2.更改单元格格式2.1数值型数据的更改2.2文本型数据的更改2.3日期型数据的更改2.4日期型数据、数值型数据->文本型数据1.Excel数据格式 数字、文本和日期是最常用的三种数据格式&#xff0c; 数字一般右对齐&#xff0c;方便观测数据位数&am…

mac ganache安装以及在metamask创建ganache网络和账户导入

在做区块链本地测试时&#xff0c;需要测试网络、测试账户以及测试币&#xff0c;可以使用ganache来启动本地网络以及生成账户进行测试。 一、下载及安装ganache 首先下载ganache&#xff0c; 网址是这个https://trufflesuite.com/ganache/ 下载好后进行安装。 安装好以后使用…

Allegro如何让BUS线以粗线形式显示操作指导

Allegro如何让BUS线以粗线形式显示操作指导 在评估PCB布线的时候,设置好Bus线对于评估非常有帮助,Allegro不仅可以支持设置Bus组,还可以让Bus线以粗线形式显示,如下图 具体操作如下 选择Edit-PropertyFind选择nets

【algorithm】算法基础课---二分查找算法(附笔记 | 建议收藏)

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;AcWing算法学习笔记 &#x1f4ac;总结&#xff1a;希望你看完…

几种常用的权重初始化方法

来源&#xff1a;投稿 作者&#xff1a;175 编辑&#xff1a;学姐 在深度学习中&#xff0c;权重的初始值非常重要&#xff0c;权重初始化方法甚至关系到模型能否收敛。本文主要介绍两种权重初始化方法。 为什么需要随机初始值 我们知道&#xff0c;神经网络一般在初始化权重…

【EasyExcel】在Java中操作Excel 完成数据的导入导出

快速入门 引入依赖 构建实体类 数据导出 参数 WriteWorkbook WriteSheet WriteTable 测试 数据导入 测试 EasyExcel是阿里巴巴开源的一个excel处理框架&#xff0c;以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一…

【Ajax】form表单

一、form表单的基本使用什么是表单表单在网页中主要负责数据采集功能。HTML中的<form>标签&#xff0c;就是用于采集用户输入的信息&#xff0c;并通过<form>标签的提交操作&#xff0c;把采集到的信息提交到服务器端进行处理。2. 表单的组成部分<!-- 表单标签 …

Android 深入系统完全讲解(27)

讲完了这块&#xff0c;我们来说下相机相关的&#xff0c;再说之前一定记得&#xff0c;先要有框架思维&#xff0c;这点一直是我 强调的。 相机是什么&#xff0c;硬件采集数据上来&#xff0c;解析完成&#xff0c;上层绘制&#xff0c;在绘制的时候&#xff0c;同步可以做特…

iOS 国际化(多语言)

一、应用程序国际化 包括app名称和各种权限的提示文字。 1.1 创建工程&#xff0c;再在“PROJECT”的“Info”里面&#xff0c;添加所需语言。 1.2 从代码中分离出文本 创建一个 “.strings” 扩展名的文件 来本地化字符串&#xff0c;需要把这些字符串全部放在一个单独的文…

【医学数据融合文本方向 思路整理】

Scalable and accurate deep learning for electronic health records【2018】 本论文在于介绍 Google Medical Brain 项目的目标、方法和规划。 思路&#xff1a; 用病情描述&#xff0c;预测疾病诊断&#xff0c;预测死亡率 用病情描述加治疗方案&#xff0c;预测复诊率和住院…

Elasticsearch7.8.0版本高级查询—— 查询所有文档

目录一、初始化文档数据二、查询所有文档示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; {"name":"张三","age":22,"sex…