- 博客(168)
- 收藏
- 关注
原创 Dify工作流--发票信息获取
本文描述了一个基于视觉和语言大模型的发票信息提取系统。系统支持两种输入格式:发票图片(使用GLM4.5V视觉模型处理)和PDF文件(通过文档提取器处理后由QWen3-30B语言模型解析)。处理流程包括:1)输入检测(区分图片/PDF);2)对应模型处理;3)输出结构化JSON结果,包含发票号码、日期、买卖双方信息、商品明细及金额等字段。系统特别强调严格的JSON输出格式要求,并提供了标准的提示词模板,确保不同输入方式都能得到统一格式的输出结果。该方案展示了多模态模型在票据识别领域的应用潜力。
2025-09-01 16:08:00
356
原创 Dify工作流之合同信息提取
本文介绍了一个基于AI的合同关键信息提取及风险分析系统。该系统工作流程包括:1)输入合同文档;2)通过文档提取器处理多格式文件;3)大模型执行智能审查(含主体名称、金额、日期等一致性检查);4)Markdown格式转换;5)输出Docx文件。系统能自动识别合同基本信息,检查格式规范与逻辑一致性,并输出结构化分析结果,实现合同风险的可视化呈现与智能预警。
2025-08-30 22:31:07
737
原创 OpenCV之霍夫变换
霍夫变换是一种经典的形状检测算法,广泛应用于直线和圆的识别。其核心思想是将图像空间的特征映射到参数空间进行投票,通过峰值搜索确定几何形状参数。对于直线检测,通过极坐标(ρ,θ)表示直线,利用投票机制找到图像中的直线;对于圆检测,则构建三维参数空间(a,b,r)来定位圆心和半径。OpenCV提供了HoughLines和HoughCircles等函数实现该算法,通过调整参数如投票阈值、精度等可优化检测效果。该算法虽计算量较大,但在边缘清晰的图像中表现优异,是计算机视觉中重要的基础算法。
2025-08-29 10:05:27
773
原创 OpenCV之怎么识别轮廓
本文介绍了图像处理中轮廓的基本概念、追踪原理及实现方法。轮廓定义为由一组有序、连续的像素点组成的闭合路径,具有连通性、闭合性和方向性特征。通过Suzuki85算法演示了轮廓追踪的四个规则:扫描起点、方向优先级、边界判定和终止条件,并给出分步图解说明。文章还提供了手动实现轮廓追踪的Python代码,与OpenCV的findContours()函数进行效率对比,并解答了关于轮廓闭合性、内外轮廓判断等关键问题。该内容适合理解轮廓原理及教学使用,实际项目中推荐使用OpenCV优化实现。
2025-08-28 09:30:00
771
原创 ragflow报错 - ERROR: (1054, “Unknown column ‘t1.process_duation‘ in ‘field list‘“)
MySQL数据库字段名错误导致系统异常。原先task表和document表中的process_duration字段多了一个"r",正确应为process_duation。通过登录数据库(IP:部署网络端口,用户名root,密码infini_rag_flow),将两个表中该字段名修改正确后,系统功能恢复正常。这个拼写错误会导致知识库文档无法显示和搜索功能失效。
2025-08-27 22:26:46
271
原创 OpenCV之轮廓层级
OpenCV轮廓层级结构通过hierarchy数组描述轮廓间的嵌套关系,包含Next、Previous、First_Child和Parent四个字段,分别表示同级轮廓索引和父子关系。不同检索模式(RETR_EXTERNAL、RETR_LIST、RETR_TREE)影响层级信息的完整程度:EXTERNAL仅保留最外层轮廓,LIST平铺所有轮廓忽略关系,TREE则完整记录嵌套结构。实际应用中,可通过解析hierarchy数组来识别轮廓间的父子、兄弟等拓扑关系,适用于孔洞检测、嵌套物体分析等场景。代码实现时需注意
2025-08-27 09:24:34
1213
原创 Tesseract OCR之单词识别与字符分类器
摘要:本文提出两种单词分割方法,分别针对固定间距和非固定间距文本。固定间距文本采用基于字符宽度的统计学特征进行均匀切分,而非固定间距文本则结合间隙分析和语言模型校验实现动态分割。字符分类部分通过提取多边形轮廓特征,结合原型聚类匹配和动态分段优化,提升分类准确率。数学公式量化了切分决策和字符分类概率,综合几何特征与语言规则进行加权判断。实验案例表明该方法能有效处理打印文本和手写体的字符分割与识别任务。
2025-08-26 21:30:00
874
原创 Tesseract OCR之基线拟合和单词检测
找到文本行的虚拟基准线(如英文中字母底部对齐的线),即使字符存在断裂、倾斜或噪声干扰。:对间隙分布直方图找两个峰(字符内间隙/单词间间隙),取谷底作为阈值。:确认哪些Blob属于同一行(本例只有一行,省略DBSCAN聚类)。如何区分字符间间隙(同一单词)与单词间间隙?的底部是19,导致基线偏高(不准确)。(成功分离两个单词)
2025-08-26 17:00:00
1018
原创 Tesseract OCR之页面布局分析
本文介绍了文档图像布局分析的核心目标与方法,通过投影分析和制表位检测将文档划分为逻辑区域(如文本栏、表格)。水平投影统计行像素密度定位文本行,垂直投影识别列边界。XY-Cut算法递归分割空白区域,实现文档结构的自动划分。标点符号可辅助边界判断,连字符需特殊处理。该方法为文档分析提供基础,相关研究可参考XY-Cut算法及CVPR 2023的改进方案。
2025-08-26 00:02:54
707
原创 Otsu算法
Otsu算法是一种自动图像二值化方法,通过最大化类间方差确定最佳阈值。该算法统计灰度直方图,遍历0-255所有阈值,计算前景/背景的类内概率和均值,选择使类间方差最大的阈值。优点包括自动化、计算高效,适用于双峰直方图;缺点是对噪声敏感且仅适合单目标分割。OpenCV中可通过cv2.threshold()结合THRESH_OTSU标志实现。
2025-08-25 08:39:43
423
原创 AI大模型-提示词工程
《AI提示词:优化大语言模型交互的关键技术》摘要 AI提示词是引导AI系统生成特定输出的指令或问题,其形式从简单查询到复杂任务不等。理解大语言模型(LLM)基于上下文预测token的工作原理是优化提示词的基础。本文提出四项核心技巧:1)角色设定,通过专业术语压缩背景信息;2)示例引导(One-shot/Few-shot),提供样本优化输出格式;3)任务拆解,将复杂问题分步处理;4)思维链技术,要求模型展示推理过程。这些方法的本质都是通过提供更丰富的上下文信息,帮助LLM更准确地预测后续内容。
2025-08-10 20:58:44
754
原创 dify更新python环境
完成以上步骤后,你的dify环境中就新增了新的python依赖。不过目前测试发现,重启dify,会导致dify环境中的依赖消失。(4)将下载好的依赖包放在宿主机的挂载路径上,这样容器中对应路径就有了依赖包。之后进入容器,通过pip命令来安装依赖包。(1)首先进入sendbox对应的容器,查看容器中的python版本。经过往上搜索以及自行探索,在联网和离线情况下的导入方法。(3)确定要安装的依赖包,去官网下载。dify代码执行中如何安装缺少的包。python依赖包下载。
2025-06-23 15:33:08
2322
1
原创 linux学习 vi/vim
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 () 自己也说 vim 是一个程序开发工具而不是文字处理软件。
2025-04-29 17:00:00
837
原创 YOLO数据处理
YOLO(You Only Look Once)的数据处理流程是为了解决目标检测领域的核心挑战,核心目标是为模型训练和推理提供高效、规范化的数据输入。
2025-04-23 20:00:00
1436
原创 docker desktop 的安装和使用
是一款专为开发者设计的工具,可以在本地计算机(Windows/macOS)上快速运行和管理容器(Container)环境。
2025-04-11 08:34:45
2187
原创 OpenCV练习(1)签名修复
在学校的学习过程中,需要递交许多材料,且每份材料上都需要对应负责人签名,有时候找别人要签名,然后自己粘贴的话,会出现签名模糊,背景不是纯白透明。可以看到,几乎多有的小黑块都被填充完毕,但是出现意料外的情况。在“图”字中,外面的口和里面的冬连在了一起,因为本身原图片中这两个结构就挨得很近,且为了最大限度地填充小黑块,进行膨胀时就容易粘连在一起了。但是高斯滤波后,笔画流畅了字迹却又模糊了,且中值滤波效果不大。可以看到,字迹有一定的填充,担任存在一些小的空洞,这个就需要用到闭运算了,来消除白色区域中的小黑块。
2024-06-15 01:26:19
1220
1
原创 OpenCV学习(4.15) 基于 GrabCut 算法的交互式前景提取
但在某些情况下,分割的不是那么理想,比如说,它可能把一些前景区域标成了背景,或者反过来。如果发生了这样的情况,用户需要进行仔细的修正。“划一下”基本的意思是说,*"嘿,这个区域应该是前景,你标记它为背景,在下一次迭代中更正它。在新的掩模图像中,像素将标记有四个标记,表示背景/前景,如上所述。在画中使用画笔工具,我在这个新图层上标记了不需要的白色背景(如徽标,地面等)以及黑色的前景(头发,鞋子,球等)。GrabCut算法的优点是它能够处理较为复杂的场景,并且用户交互简单,可以快速得到满意的分割结果。
2024-06-14 22:53:49
1339
原创 OpenCV学习(4.14) 基于分水岭算法的图像分割
为此,我们扩大了结果。在图像处理中,分水岭算法将图像看作地形图,图像中的亮度或灰度值表示地形的高度,目标是找到汇水盆地(即图像中的连通区域)的边界,这些边界被称为分水岭线。用一种颜色(或强度)标记我们确定为前景或对象的区域,用另一种颜色标记我们确定为背景或非对象的区域,最后标记我们不确定任何内容的区域,用 0 标记它。我们确切知道的区域(无论是前景还是背景)都标有任何正整数,但不同的整数,我们不确定的区域只是保留为零。随着水的上升,取决于附近的峰值(梯度),来自不同山谷的水,明显具有不同的颜色将开始融合。
2024-06-13 22:00:00
1148
原创 OpenCV学习(4.13) 霍夫变换
概率Hough变换相比于标准Hough变换的优点是它更快,因为它不需要为每个边缘点计算和投票所有的参数空间。此外,它通常能够给出更准确的结果,因为它考虑了边缘点之间的局部关系。这种方法的缺点是它可能不会检测到图像中所有的直线,特别是当直线的支持点较少时。因此,概率Hough变换适用于直线较为密集的场景,而在直线稀疏的情况下可能不如标准Hough变换有效。在霍夫变换中,你可以发现即使是一条仅有两个参数的直线,也需要用到大量的计算。概率霍夫变换是我们已知的,针对霍夫变换的优化方案。
2024-06-13 17:41:29
1617
原创 OpenCV学习(4.12) 模板匹配
它只是在输入图像上滑动模板图像(如在 2D 卷积中),并比较模板图像下的模板和输入图像的补丁。在OpenCV中,模板匹配是一种用于在较大图像中寻找模板图像位置的方法。这种方法基于滑动窗口机制,通过在输入图像上滑动模板图像并在每个位置计算模板与图像子区域的相似度来确定最佳匹配位置。如果输入图像的大小(WxH)且模板图像的大小(wxh),则输出图像的大小为(W-w + 1,H-h + 1)。在上一节中,我们搜索了梅西的脸部图像,该图像仅在图中出现一次。模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。
2024-06-12 23:58:55
876
原创 OpenCV学习(4.11) OpenCV中的图像转换
对于正弦信号,$x(t)=Asin(2\pi ft)$ ,我们可以说 $f$ 是信号的频率,如果采用其频域,我们可以在 $f$ 处看到一个尖峰。如果信号进行采样,以形成离散信号,我们得到了相同的频域,但在范围周期性 $[-π,π]$ 或 $[0,2\pi]$(或 $[0,N]$ 用于N点DFT)。在上一部分中,我们创建了一个HPF,这次我们将看到如何去除图像中的高频内容,即我们将LPF应用于图像。因此,您已经进行了频率变换,您可以在频域中执行一些操作,例如高通滤波和重建图像,若进行逆DFT。
2024-06-12 23:45:58
1412
2
原创 OpenCV学习(4.10) OpenCV中的直方图
然后,我们将该直方图“反向投影”到需要找到对象的测试图像上,换句话说,我们计算出属于地面的每个像素的概率并将其显示出来。例如,较亮的图像会将所有像素限制在较高的值。即 $B(x,y)= R [h(x,y),s(x,y)]$ 其中h是色调,s是像素在(x,y)的饱和度。这是因为它的直方图不像我们在前面的案例中所看到的那样局限于特定区域(尝试绘制输入图像的直方图,您将获得更多的直觉)。另一个重要特征是,即使图像是较暗的图像(而不是我们使用的较亮的图像),在均衡后,我们将获得与获得的图像几乎相同的图像。
2024-06-12 17:08:13
1074
原创 OpenCV学习(4.9) OpenCV中的轮廓
通常我们使用函数来检测图像中的对象,对吗?有时对象位于不同的位置。但是在某些情况下,某些形状位于其他形状内。就像嵌套的数字一样。在这种情况下,我们将外部的一个称为父级,将内部的一个称为子级。这样,图像中的轮廓彼此之间就具有某种关系。并且我们可以指定一个轮廓如何相互连接,例如是其他轮廓的子轮廓,还是父轮廓等。这种关系的表示称为层次结构。
2024-06-10 10:40:14
1521
1
原创 OpenCV学习(4.8) 图像金字塔
通过去除较低级别图像(较高分辨率)中的连续行和列来形成高斯金字塔中的较高级别图像(较低分辨率)。较高级别图像的每个像素值由低一级别图像的 5 个像素值高斯加权得到,由此图像面积减少到原来的四分之一。例如,在搜索图像中的某些内容如脸部信息时,并不确定该内容在图像中占据的大小。例如,一个分辨率为1024x768的图像意味着图像在水平方向上有1024个像素,在垂直方向上有768个像素。原始图像的分辨率通常指的是图像在水平和垂直方向上的像素数量。这是图像的一个重要属性,因为它决定了图像的清晰度和细节水平。
2024-06-08 22:28:46
1268
1
原创 OpenCV学习(4.7) Canndy边缘检测
它的基本原理是在图像的每个像素点上,如果该点的像素值不是在其梯度方向上的最大值,那么这个点的像素值将被抑制或设置为0。渐变方向与边缘垂直。一般而言,图像边缘意味着亮度的剧烈变化,可以通过图像的二阶导也就是梯度来衡量,不过再此之前需要清楚噪声,因为噪声的周围亮度也存在变化,会影响边缘检测效果。双阈值处理(Double Thresholding)是Canny边缘检测算法中的一个关键步骤,它用于确定哪些边缘是真正的边缘,哪些可能是由噪声引起的假边缘。:使用双阈值和边缘梯度方向,进行边缘跟踪,得到最终的边缘图像。
2024-06-08 17:59:30
1048
原创 OpenCV学习(4.6) 图像梯度
1.目标图像梯度是图像处理中的一个基本概念,它用于测量。在数学上,梯度是函数的偏导数,而在图像处理中,梯度通常用于表示。
2024-06-07 23:50:48
620
原创 OpenCV学习(4.5) 图像的形态转换
形态梯度的计算方法是先对图像进行膨胀,然后从膨胀后的图像中减去原始图像。笔者认为,这些噪声由于是散乱分布的,再进行二值化时部分被划为前景,部分被划为背景,但无论是前景还是背景,它们都是孤立的,第一步的腐蚀会去除哪些孤立的前景噪声,第二部。这个是先进行腐蚀再进行膨胀的效果图,腐蚀除了将背景的噪声去除外,一些背景中的纹理也在一定程度的隐去了,而膨胀可以将这些纹理再现出来,甚至比原图还要强。可以看到,用来进行闭运算的核越大,消除黑色小块的能力越强,不过当核过于大的时候,就是前景与背景的分界变得模糊。
2024-06-07 17:35:02
1767
原创 特征融合热门方法及模型
特征融合方法(由深度之眼整理)https://arxiv.org/abs/1608.06993https://github.com/liuzhuang13/DenseNethttps://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdfhttps://arxiv.org/abs/1511.06062https://arxiv.org/abs/1709.
2024-06-07 13:58:15
734
原创 OpenCV学习(4.4) 平滑图像
有趣的是,在上面的过滤器中,中心元素是一个新计算的值,它可能是图像中的像素值,也可能是一个新值。操作如下:将该内核中心与一个像素对齐,然后将该内核下面的所有 25 个像素相加,取其平均值,并用新的平均值替换这个25x25窗口的中心像素。在图像处理中,平滑图像是一种去噪和模糊技术,用于减少图像中的噪声和细节,使得图像看起来更加平滑。同态滤波是一种增强图像对比度的方法,它通过对图像进行对数变换和频率域滤波,然后再进行指数逆变换,来实现图像的平滑和亮度调整。这是通过用一个归一化的滤波器内核与图像卷积来完成的。
2024-06-06 20:35:54
1302
原创 OpenCV学习(4.3) 图像阈值
请注意,如果您想要使用 OpenCV 的 `cv.threshold` 函数来应用 Otsu 阈值,您应该使用 `cv.threshold(blur, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)`,而不是手动计算阈值。请注意,Otsu 阈值化通常使用 OpenCV 的 `cv.threshold(blur, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)` 函数来实现,而不是手动计算累积分布函数。函数将返回一个包含噪声的图像。
2024-06-05 16:42:34
824
原创 OpenCV学习(4.2) 图像的几何变换
它允许我们从一个特定的视角观察一个物体,就像我们通过窗户看外面的世界,窗户的框架会提供一个不同的视角,即使窗户外的物体是平面的。透视变换(Perspective Transformation)是一种更加一般的变换,它可以将一个平面上的图像映射到另一个平面上,同时保持直线的直线性质,但不保持平行线的平行性。其中,A 是一个 2x2 的矩阵,表示旋转、缩放和剪切,b 是一个 2 元素的向量,表示平移,x 是原始点的坐标,T(x) 是变换后点的坐标。在仿射变换中,原始图像中的所有平行线在输出图像中仍然是平行的。
2024-06-04 23:16:09
1088
原创 OpenCV学习(4.1) 改变颜色空间
对于 HSV, 色调(Hue)范围为 [0,179], 饱和度(Saturation)范围为 [0,255] ,明亮度(Value)为 [0,255]. 不同的软件使用不同的比例. 所以如果你想用 OpenCV 的值与别的软件的值作对比,你需要归一化这些范围。色调(H)的上限是180(在HSV颜色空间中,蓝色的范围是从0到180,然后再次从180到0,所以这里包括了所有的蓝色),饱和度(S)的上限是200,亮度(V)的上限是255(最大值)。的函数,它将作为回调函数用于处理OpenCV窗口中的鼠标事件。
2024-06-04 17:25:06
1385
dify1.4.2 插件junjiem-mcp-compat-dify-tools-0.1.1-offline.difypkg
2025-06-17
dify1.4.2 插件hjlarry-mcp-server-0.0.3-offline.difypkg
2025-06-17
dify1.4.2,插件hjlarry-agent-0.0.1-offline.difypkg
2025-06-17
【自然语言处理】大型语言模型的检索增强生成技术综述:从Naive RAG到Modular RAG的发展与应用
2025-05-23
【信息检索领域】基于假设文档嵌入的无监督零样本密集检索模型HyDE:无需相关性标签的跨任务与多语言高效检索
2025-05-23
【自然语言处理领域】基于检索增强生成(RAG)模型的综述:多模态信息融合与应用挑战分析
2025-05-23
【自然语言处理】大型语言模型的检索增强生成技术综述:发展历程、关键技术与未来方向了检索增强生成### 文章总结:Generate-Then-Read:利用大型语言模型生成上下文文档以解决知识密集型任务
2025-05-23
细粒度图像分类上 Vision Transformer 的发展综述
2024-01-07
The Oxford Handbook of Affective Computing
2023-10-25
一篇关于计算机视觉和人类视觉之间关系的综述性文章
2023-10-25
一篇关于人类对视觉信息感知的文章
2023-10-25
Multi-Label Image Recognition with Graph Convolutional Networks
2023-10-18
abstract图像情感数据集
2023-10-18
图像情感分析 英文论文十篇
2023-10-18
图像情感分类数据集Emotion6
2023-10-18
损失函数 LDAM (详细代码,亲测可运行)
2023-10-18
深度学习 + Resnet + 详解
2023-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人