Python计算机视觉从入门到实战:OpenCV环境搭建与图像处理全流程
最近在辅导几位刚入门计算机视觉的同学时发现很多人在掌握了Python基础后面对OpenCV、图像处理等实际应用时仍然感到无从下手。本文将从零开始带你系统掌握Python计算机视觉的核心技能涵盖环境搭建、图像处理基础、特征提取、目标检测等完整流程每个环节都提供可运行的代码示例和常见问题解决方案。1. 计算机视觉基础概念1.1 什么是计算机视觉计算机视觉是让计算机看懂图像和视频的技术。简单来说就是通过算法让计算机能够识别图像中的物体、理解场景内容、分析运动轨迹等。与传统图像处理不同计算机视觉更注重对图像内容的理解和解释。在实际应用中计算机视觉技术已经广泛应用于多个领域人脸识别手机解锁、门禁系统自动驾驶车辆检测、车道线识别医疗影像病灶检测、细胞分析工业检测产品缺陷检测、质量监控1.2 Python在计算机视觉中的优势Python成为计算机视觉首选语言的原因主要有以下几点丰富的库生态OpenCV、PIL、scikit-image等成熟库提供完整解决方案简洁的语法代码可读性强快速实现算法原型强大的科学计算支持NumPy、SciPy等库提供高效的数值计算能力活跃的社区大量开源项目和教程资源2. 环境搭建与工具配置2.1 Python环境安装推荐使用Anaconda管理Python环境可以避免依赖冲突问题。以下是详细安装步骤# 下载AnacondaPython 3.9版本较稳定 # 官网https://www.anaconda.com/download # 创建专门的计算机视觉环境 conda create -n cv_env python3.9 conda activate cv_env # 安装核心依赖包 pip install opencv-python pip install numpy pip install matplotlib pip install pillow2.2 开发工具选择对于初学者推荐以下两种开发环境VS Code配置// settings.json 配置 { python.pythonPath: ~/anaconda3/envs/cv_env/bin/python, python.linting.enabled: true }Jupyter Notebook# 安装Jupyter conda install jupyter notebook # 启动Notebook jupyter notebookJupyter适合交互式学习可以实时查看图像处理效果。2.3 验证安装结果创建测试脚本验证环境是否正常# test_environment.py import cv2 import numpy as np import matplotlib.pyplot as plt print(OpenCV版本:, cv2.__version__) print(NumPy版本:, np.__version__) # 创建测试图像 test_image np.random.randint(0, 255, (100, 100, 3), dtypenp.uint8) plt.imshow(test_image) plt.title(环境测试 - 随机图像) plt.show() print(环境配置成功)3. 图像处理基础3.1 图像读取与显示掌握图像的基本操作是计算机视觉的第一步import cv2 import matplotlib.pyplot as plt # 读取图像使用绝对路径避免文件找不到错误 image_path test_image.jpg # 准备一张测试图片 image cv2.imread(image_path) # 检查图像是否读取成功 if image is None: # 创建一张示例图像 image np.random.randint(0, 255, (300, 400, 3), dtypenp.uint8) cv2.imwrite(test_image.jpg, image) # OpenCV使用BGR格式matplotlib使用RGB格式 image_rgb cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 显示图像 plt.figure(figsize(10, 8)) plt.subplot(1, 2, 1) plt.imshow(image_rgb) plt.title(RGB图像) plt.axis(off) # 转换为灰度图 gray_image cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) plt.subplot(1, 2, 2) plt.imshow(gray_image, cmapgray) plt.title(灰度图像) plt.axis(off) plt.tight_layout() plt.show()3.2 图像基本操作# 图像基本信息 print(图像形状:, image.shape) # (高度, 宽度, 通道数) print(图像数据类型:, image.dtype) print(图像大小:, image.size) # 像素访问 height, width image.shape[:2] print(中心像素值:, image[height//2, width//2]) # 图像裁剪 cropped image[100:300, 150:350] # y范围, x范围 # 调整大小 resized cv2.resize(image, (200, 150)) # (宽度, 高度) # 旋转图像 center (width//2, height//2) rotation_matrix cv2.getRotationMatrix2D(center, 45, 1.0) # 旋转45度 rotated cv2.warpAffine(image, rotation_matrix, (width, height))3.3 图像滤波处理图像滤波是去除噪声、增强特征的重要手段# 创建带噪声的图像 noisy_image image.copy() noise np.random.normal(0, 25, image.shape).astype(np.uint8) noisy_image cv2.add(image, noise) # 均值滤波 blurred cv2.blur(noisy_image, (5, 5)) # 高斯滤波 gaussian_blur cv2.GaussianBlur(noisy_image, (5, 5), 0) # 中值滤波对椒盐噪声效果好 median_blur cv2.medianBlur(noisy_image, 5) # 显示滤波效果 plt.figure(figsize(12, 8)) images [noisy_image, blurred, gaussian_blur, median_blur] titles [带噪声图像, 均值滤波, 高斯滤波, 中值滤波] for i in range(4): plt.subplot(2, 2, i1) if len(images[i].shape) 3: plt.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB)) else: plt.imshow(images[i], cmapgray) plt.title(titles[i]) plt.axis(off) plt.tight_layout() plt.show()4. 图像特征提取4.1 边缘检测边缘是图像中重要的特征信息常用的边缘检测算法包括# 使用Canny边缘检测 gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) edges cv2.Canny(gray, 50, 150) # 阈值1, 阈值2 # Sobel算子 sobelx cv2.Sobel(gray, cv2.CV_64F, 1, 0, ksize5) # x方向 sobely cv2.Sobel(gray, cv2.CV_64F, 0, 1, ksize5) # y方向 sobel_combined np.sqrt(sobelx**2 sobely**2) # Laplacian算子 laplacian cv2.Laplacian(gray, cv2.CV_64F) # 显示边缘检测结果 plt.figure(figsize(15, 10)) edge_images [gray, edges, sobel_combined, laplacian] edge_titles [原图, Canny边缘, Sobel边缘, Laplacian边缘] for i in range(4): plt.subplot(2, 2, i1) plt.imshow(edge_images[i], cmapgray) plt.title(edge_titles[i]) plt.axis(off) plt.tight_layout() plt.show()4.2 角点检测角点是图像中重要的特征点常用于图像匹配和目标跟踪# Harris角点检测 gray np.float32(gray) harris_corners cv2.cornerHarris(gray, 2, 3, 0.04) # 膨胀角点标记可视化用 harris_corners cv2.dilate(harris_corners, None) # 标记角点 image_copy image.copy() image_copy[harris_corners 0.01 * harris_corners.max()] [0, 0, 255] # 红色标记 # Shi-Tomasi角点检测 corners cv2.goodFeaturesToTrack(gray, 100, 0.01, 10) corners np.int0(corners) image_copy2 image.copy() for corner in corners: x, y corner.ravel() cv2.circle(image_copy2, (x, y), 3, [0, 255, 0], -1) # 绿色圆点 plt.figure(figsize(12, 5)) plt.subplot(1, 2, 1) plt.imshow(cv2.cvtColor(image_copy, cv2.COLOR_BGR2RGB)) plt.title(Harris角点检测) plt.axis(off) plt.subplot(1, 2, 2) plt.imshow(cv2.cvtColor(image_copy2, cv2.COLOR_BGR2RGB)) plt.title(Shi-Tomasi角点检测) plt.axis(off) plt.tight_layout() plt.show()4.3 SIFT特征提取SIFT尺度不变特征变换是经典的局部特征描述子# 初始化SIFT检测器 sift cv2.SIFT_create() # 检测关键点和计算描述子 keypoints, descriptors sift.detectAndCompute(gray, None) # 绘制关键点 sift_image cv2.drawKeypoints(image, keypoints, None, flagscv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) plt.figure(figsize(10, 8)) plt.imshow(cv2.cvtColor(sift_image, cv2.COLOR_BGR2RGB)) plt.title(fSIFT特征点检测 (共{len(keypoints)}个特征点)) plt.axis(off) plt.show() print(f描述子形状: {descriptors.shape}) print(每个特征点对应一个128维的描述向量)5. 图像分割技术5.1 阈值分割阈值分割是最简单的分割方法适用于背景和前景对比明显的图像# 全局阈值分割 _, thresh1 cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) _, thresh2 cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV) _, thresh3 cv2.threshold(gray, 127, 255, cv2.THRESH_TRUNC) _, thresh4 cv2.threshold(gray, 127, 255, cv2.THRESH_TOZERO) # 自适应阈值分割适用于光照不均的图像 thresh5 cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2) thresh6 cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2) # 显示结果 plt.figure(figsize(15, 10)) thresh_images [gray, thresh1, thresh2, thresh3, thresh4, thresh5, thresh6] thresh_titles [原图, 二值化, 反二值化, 截断, 零阈值, 自适应平均, 自适应高斯] for i in range(7): plt.subplot(3, 3, i1) plt.imshow(thresh_images[i], cmapgray) plt.title(thresh_titles[i]) plt.axis(off) plt.tight_layout() plt.show()5.2 基于边缘的分割# 使用Canny边缘检测进行分割 edges cv2.Canny(gray, 30, 100) # 查找轮廓 contours, hierarchy cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 绘制轮廓 contour_image image.copy() cv2.drawContours(contour_image, contours, -1, (0, 255, 0), 2) plt.figure(figsize(12, 5)) plt.subplot(1, 2, 1) plt.imshow(edges, cmapgray) plt.title(边缘检测结果) plt.axis(off) plt.subplot(1, 2, 2) plt.imshow(cv2.cvtColor(contour_image, cv2.COLOR_BGR2RGB)) plt.title(f检测到{len(contours)}个轮廓) plt.axis(off) plt.tight_layout() plt.show()5.3 K-means聚类分割# 将图像转换为二维数组 pixel_values image.reshape((-1, 3)) pixel_values np.float32(pixel_values) # 定义K-means参数 criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 100, 0.2) k 3 # 聚类数量 # 应用K-means _, labels, centers cv2.kmeans(pixel_values, k, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS) # 转换回8位值 centers np.uint8(centers) segmented_data centers[labels.flatten()] # 重塑回原始图像维度 segmented_image segmented_data.reshape(image.shape) plt.figure(figsize(10, 8)) plt.imshow(cv2.cvtColor(segmented_image, cv2.COLOR_BGR2RGB)) plt.title(fK-means聚类分割 (k{k})) plt.axis(off) plt.show()6. 目标检测实战6.1 模板匹配模板匹配是一种简单直接的目标检测方法# 创建模板从原图中截取一小部分作为模板 template image[50:150, 100:200] # 调整范围确保在图像内 h, w template.shape[:2] # 模板匹配 methods [cv2.TM_CCOEFF, cv2.TM_CCOEFF_NORMED, cv2.TM_CCORR, cv2.TM_CCORR_NORMED, cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED] plt.figure(figsize(15, 12)) for i, method in enumerate(methods): img image.copy() method eval(method) # 应用模板匹配 res cv2.matchTemplate(img, template, method) min_val, max_val, min_loc, max_loc cv2.minMaxLoc(res) # 根据方法选择最佳匹配位置 if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]: top_left min_loc else: top_left max_loc bottom_right (top_left[0] w, top_left[1] h) # 绘制矩形框 cv2.rectangle(img, top_left, bottom_right, (0, 255, 0), 2) plt.subplot(2, 3, i1) plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.title(method) plt.axis(off) plt.tight_layout() plt.show()6.2 Haar级联分类器Haar级联是OpenCV提供的经典目标检测方法# 加载预训练的人脸检测分类器 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml) # 检测人脸 faces face_cascade.detectMultiScale(gray, scaleFactor1.1, minNeighbors5, minSize(30, 30)) # 绘制检测结果 face_image image.copy() for (x, y, w, h) in faces: cv2.rectangle(face_image, (x, y), (xw, yh), (255, 0, 0), 2) plt.figure(figsize(10, 8)) plt.imshow(cv2.cvtColor(face_image, cv2.COLOR_BGR2RGB)) plt.title(f人脸检测结果 (检测到{len(faces)}张人脸)) plt.axis(off) plt.show()6.3 基于深度学习的对象检测使用OpenCV的DNN模块进行深度学习目标检测# 下载预训练模型和配置文件 # 模型文件: https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API # 这里使用MobileNet SSD模型 # 加载类别标签 classes [background, aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, diningtable, dog, horse, motorbike, person, pottedplant, sheep, sofa, train, tvmonitor] # 加载模型 net cv2.dnn.readNetFromTensorflow(ssd_mobilenet_v2_coco_2018_03_29/frozen_inference_graph.pb, ssd_mobilenet_v2_coco_2018_03_29.pbtxt) # 预处理图像 blob cv2.dnn.blobFromImage(image, 0.007843, (300, 300), 127.5) net.setInput(blob) # 进行检测 outputs net.forward() # 处理检测结果 h, w image.shape[:2] detection_image image.copy() for detection in outputs[0, 0]: confidence detection[2] if confidence 0.5: # 置信度阈值 class_id int(detection[1]) label f{classes[class_id]}: {confidence:.2f} # 计算边界框坐标 x1 int(detection[3] * w) y1 int(detection[4] * h) x2 int(detection[5] * w) y2 int(detection[6] * h) # 绘制边界框和标签 cv2.rectangle(detection_image, (x1, y1), (x2, y2), (0, 255, 0), 2) cv2.putText(detection_image, label, (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) plt.figure(figsize(10, 8)) plt.imshow(cv2.cvtColor(detection_image, cv2.COLOR_BGR2RGB)) plt.title(深度学习目标检测结果) plt.axis(off) plt.show()7. 常见问题与解决方案7.1 环境配置问题问题1ImportError: No module named cv2# 解决方案 pip uninstall opencv-python pip install opencv-python-headless # 无GUI版本兼容性更好问题2Matplotlib显示图像颜色异常# 原因OpenCV使用BGRMatplotlib使用RGB # 解决方案 image_rgb cv2.cvtColor(image, cv2.COLOR_BGR2RGB) plt.imshow(image_rgb)7.2 图像处理常见错误问题3图像读取返回None# 检查文件路径和权限 import os print(文件存在:, os.path.exists(image_path)) print(文件权限:, os.access(image_path, os.R_OK)) # 使用绝对路径避免相对路径问题 image_path os.path.abspath(test_image.jpg)问题4内存不足错误# 处理大图像时分批处理 def process_large_image(image, chunk_size1000): h, w image.shape[:2] for y in range(0, h, chunk_size): for x in range(0, w, chunk_size): chunk image[y:ychunk_size, x:xchunk_size] # 处理图像块 processed_chunk process_image(chunk) image[y:ychunk_size, x:xchunk_size] processed_chunk return image7.3 性能优化技巧# 使用NumPy向量化操作代替循环 # 慢的方式 def slow_operation(image): result image.copy() for i in range(image.shape[0]): for j in range(image.shape[1]): result[i, j] image[i, j] * 1.5 return result # 快的方式 def fast_operation(image): return image * 1.5 # 使用内置函数代替自定义实现 # 不要自己实现高斯滤波使用cv2.GaussianBlur8. 项目实战简易车牌识别系统8.1 项目需求分析开发一个能够从车辆图像中检测和识别车牌的系统主要功能包括车牌区域检测车牌字符分割字符识别结果输出8.2 实现步骤import cv2 import numpy as np import matplotlib.pyplot as plt class LicensePlateRecognizer: def __init__(self): self.plate_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_russian_plate_number.xml) def detect_plate(self, image): 检测车牌区域 gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) plates self.plate_cascade.detectMultiScale(gray, 1.1, 4) for (x, y, w, h) in plates: # 提取车牌区域 plate_region image[y:yh, x:xw] # 进一步处理车牌区域 processed_plate self.preprocess_plate(plate_region) return processed_plate, (x, y, w, h) return None, None def preprocess_plate(self, plate_image): 预处理车牌图像 # 转换为灰度图 gray cv2.cvtColor(plate_image, cv2.COLOR_BGR2GRAY) # 二值化 _, binary cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY cv2.THRESH_OTSU) # 形态学操作去除噪声 kernel np.ones((3, 3), np.uint8) cleaned cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel) return cleaned def recognize_characters(self, plate_image): 字符识别简化版 # 实际项目中应使用OCR引擎如Tesseract # 这里仅作演示 contours, _ cv2.findContours(plate_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) characters [] for contour in contours: x, y, w, h cv2.boundingRect(contour) if w 10 and h 20: # 过滤太小的区域 character plate_image[y:yh, x:xw] characters.append((x, character)) # 按x坐标排序 characters.sort(keylambda x: x[0]) return [char[1] for char in characters] # 使用示例 recognizer LicensePlateRecognizer() test_image cv2.imread(car_image.jpg) # 准备测试图像 if test_image is not None: plate, coordinates recognizer.detect_plate(test_image) if plate is not None: plt.figure(figsize(12, 6)) plt.subplot(1, 2, 1) plt.imshow(cv2.cvtColor(test_image, cv2.COLOR_BGR2RGB)) plt.title(原图) plt.axis(off) plt.subplot(1, 2, 2) plt.imshow(plate, cmapgray) plt.title(检测到的车牌) plt.axis(off) plt.tight_layout() plt.show() # 字符识别 characters recognizer.recognize_characters(plate) print(f检测到{len(characters)}个字符区域)8.3 项目优化方向改进车牌检测使用深度学习模型提高检测准确率字符识别优化集成Tesseract OCR引擎多角度支持添加图像旋转校正功能实时处理优化算法支持视频流处理9. 学习路线与进阶建议9.1 初学者学习路径第一阶段1-2周掌握Python基础、NumPy数组操作、OpenCV基本函数第二阶段2-3周学习图像处理技术滤波、变换、特征提取第三阶段3-4周实践经典计算机视觉项目边缘检测、目标识别第四阶段4周以上学习深度学习在计算机视觉中的应用9.2 推荐学习资源官方文档OpenCV官方文档最新最准确实战项目Kaggle计算机视觉竞赛进阶书籍《深度学习》《计算机视觉算法与应用》在线课程Coursera、Udacity的计算机视觉专项课程9.3 常见面试题准备图像滤波方法的区别和适用场景特征提取算法SIFT、SURF、ORB的优缺点传统计算机视觉与深度学习的对比目标检测算法演进从Haar到YOLO掌握Python计算机视觉需要理论与实践相结合建议边学边做从简单的图像处理开始逐步挑战复杂的视觉任务。在实际项目中要特别注意代码的效率和可维护性养成良好的编程习惯。

相关新闻

电子发票 | 数电发票 Python SDK | 发票接口 | 开票api |开票、验真、红冲一站式集成

电子发票 | 数电发票 Python SDK | 发票接口 | 开票api |开票、验真、红冲一站式集成

电子发票/数电发票 Python SDK | 开票、验真、红冲一站式集成 发票 Python SDK 专为电子发票、数电发票(全电发票)场景设计,支持开票、红冲、版式文件下载等核心功能,快速对接税务平台API。 关键词: 电子发票SDK,数电票Python,开…

2026/8/13 10:01:34 阅读更多 →
和平精英地铁逃生偷袭战术:从失败到成功的实战指南

和平精英地铁逃生偷袭战术:从失败到成功的实战指南

最近在玩《和平精英》时,很多小伙伴都遇到过这种情况:地铁逃生模式中精心策划的偷袭,却因为各种原因功亏一篑。本文将从战术选择、装备搭配、实战操作三个维度,系统分析偷袭失败的常见原因,并提供一套完整的改进方案。…

2026/8/14 11:37:44 阅读更多 →
Pikachu之文件包含

Pikachu之文件包含

File Inclusion(Local)文件包含漏洞是程序根据用户输入去加载&#xff08;包含&#xff09;一个文件&#xff0c;但没有做好限制&#xff0c;导致攻击者可以让程序加载本不应该加载的文件。假设网站有三个文件index.php news.php about.phpindex.php里面有这样的代码<?php …

2026/8/14 23:21:07 阅读更多 →

最新新闻

[通信与计算]微积分:基础概念及其在通信中的应用

[通信与计算]微积分:基础概念及其在通信中的应用

本文从工程实践角度介绍微积分基础&#xff0c;包括极限、导数、积分和Taylor级数&#xff0c;并说明这些概念在通信和信号处理系统分析与设计中的具体用法。图1&#xff1a;函数f(x)sin(x)0.5x及其在x00.5处的切线示意&#xff0c;将导数解释为斜率。图2&#xff1a;f(x)e^{-0…

2026/8/15 2:50:17 阅读更多 →
2026年8月南京梅雨季,鱼池爆藻除了杀菌灯还有这4招管用

2026年8月南京梅雨季,鱼池爆藻除了杀菌灯还有这4招管用

据中国水产科学研究院2025年发布的一份行业报告显示&#xff0c;超过73%的庭院鱼池水质恶化事件集中在每年的6至8月&#xff0c;其中梅雨季的占比又将近六成。这份报告还指出一个让很多鱼友扎心的结论&#xff1a;绝大多数爆藻问题&#xff0c;其实在雨水落进鱼池的那一刻就已经…

2026/8/15 2:50:16 阅读更多 →
强化学习可复现性:随机种子设置全攻略与工程实践

强化学习可复现性:随机种子设置全攻略与工程实践

1. 从一次“玄学”调试说起&#xff1a;为什么我的智能体时好时坏&#xff1f; 如果你在训练强化学习&#xff08;Reinforcement Learning, RL&#xff09;模型时&#xff0c;有过这样的经历&#xff1a;同一份代码&#xff0c;同样的超参数&#xff0c;今天跑出来的模型在测试…

2026/8/15 2:50:16 阅读更多 →
别再一个个点下载了:res-downloader 资源下载工具避坑指南

别再一个个点下载了:res-downloader 资源下载工具避坑指南

别再一个个点下载了&#xff1a;res-downloader 资源下载工具避坑指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 刷抖音…

2026/8/15 2:50:16 阅读更多 →
Git全流程实战:从环境配置到高效协作的完整指南

Git全流程实战:从环境配置到高效协作的完整指南

1. 从零到一&#xff1a;为什么你的Git流程总是不顺畅&#xff1f; 我见过太多新手开发者&#xff0c;甚至一些工作了几年的朋友&#xff0c;在版本控制这件事上磕磕绊绊。最常见的场景是&#xff1a;从GitLab上拉了个项目&#xff0c;吭哧吭哧改了半天&#xff0c;准备提交时…

2026/8/15 2:50:16 阅读更多 →
微信小程序wx.request网络请求全解析与优化实践

微信小程序wx.request网络请求全解析与优化实践

1. 微信小程序网络请求 wx.request 详解作为微信小程序开发中最基础也最核心的API之一&#xff0c;wx.request承载着小程序与服务器通信的重任。从获取用户数据到提交表单&#xff0c;从加载商品列表到实现实时聊天&#xff0c;几乎每个小程序都离不开这个关键接口。但很多开发…

2026/8/15 2:49:16 阅读更多 →

日新闻

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

本项目为前几天收费帮学妹做的一个项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址&#xff1a;本地PC端运行&#xff08;或Web…

2026/8/15 0:00:30 阅读更多 →
重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口&#xff1a;3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时&#xff0c;传统的数据获取方式往往让我们陷入困境—…

2026/8/15 0:00:30 阅读更多 →
一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

快消品&#xff08;FMCG&#xff09;是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中&#xff0c;往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统&#xff08;WMS&#xff09;与制造业、电商行业存在明显区别&#xff1a;它不仅需要管…

2026/8/15 0:02:30 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑&#xff1a;baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码&#xff08;维护中 rm repo&#xff09; 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片&#xff1a;Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身&#xff0c;而应重视模型外的系统搭建&#xff0c;即Harness。提出AgentModelHarness的实用公式&#xff0c;详细介绍Harness的四个层次&#xff1a;持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/14 13:40:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/14 14:06:45 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/15 2:35:29 阅读更多 →