计算机视觉算法知识详解(含代码示例)

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:计算机视觉算法知识详解(含代码示例)

文章目录

    • 前言
      • 1、深度学习模型
      • 2、卷积神经网络(CNN)
      • 3、目标检测算法
      • 4、图像分割算法
      • 5、人脸识别技术
      • 6、数据集和评估指标
      • 7、实际应用
    • 总结

在这里插入图片描述

前言

  计算机视觉作为人工智能领域中的重要分支,在近年来取得了巨大的发展和应用。深度学习模型,特别是卷积神经网络(CNN),在图像处理和分析中发挥着至关重要的作用。通过CNN的卷积层、池化层和全连接层等组成部分,我们能够实现对图像数据的高效特征提取和识别,为目标检测算法和图像分割算法提供了强大的基础支持。

  目标检测算法和图像分割算法作为计算机视觉中的两大重要任务,各自有着独特的原理和应用场景。不同的算法在目标检测和图像分割领域有着各自的优缺点,如何选择适合特定任务的算法是我们在实际应用中需要认真考虑的问题。同时,人脸识别技术作为计算机视觉领域中备受关注的研究方向,其涉及的人脸检测、对齐、特征提取和匹配等技术不断取得突破,为安防监控、人脸支付等领域的应用提供了强大支持。

  在探讨计算机视觉算法的过程中,我们还需要了解常用的数据集如ImageNet、COCO等,以及评估指标如准确率、召回率、IoU等,这些指标对于评估算法性能和效果至关重要。最后,通过深入研究计算机视觉在实际应用中的案例,如自动驾驶、医疗影像分析等领域的成功应用,我们能够更好地理解算法在解决现实问题中的巨大潜力和价值。愿本文能够帮助读者深入了解计算机视觉算法的精髓,启发更多关于人工智能和图像处理的思考与创新。

1、深度学习模型

  深度学习模型在计算机视觉领域有着广泛的应用,其中CNN(卷积神经网络)、RNN(循环神经网络)和LSTM(长短期记忆网络)是常见的模型。

在这里插入图片描述

  • CNN(卷积神经网络)
    • 应用场景案例:图像分类、目标检测、人脸识别等。例如,使用CNN进行图像分类可以识别图像中的物体类别,而在目标检测中,CNN可以帮助定位图像中的物体并标注出其位置。
    • 优点:CNN能够有效地捕获图像中的空间特征,具有平移不变性,对于处理图像数据效果显著。
    • 缺点:需要大量的数据进行训练,对计算资源要求较高。
# 以下是一个简单的CNN模型示例
import tensorflow as tf
from tensorflow.keras import layers, modelsmodel = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
  • RNN(循环神经网络)
    • 应用场景案例:自然语言处理、时间序列预测等。RNN适用于处理序列数据,可以捕捉数据中的时间依赖关系。
    • 优点:适用于处理序列数据,能够考虑上下文信息。
    • 缺点:存在梯度消失和梯度爆炸问题,难以捕捉长距离依赖关系。
# 以下是一个简单的RNN模型示例
model = tf.keras.Sequential([tf.keras.layers.SimpleRNN(4, input_shape=(3, 1))
])
  • LSTM(长短期记忆网络)
    • 应用场景案例:语言建模、机器翻译等。LSTM通过门控机制解决了RNN难以捕捉长距离依赖关系的问题。
    • 优点:能够有效地捕捉长距离依赖关系,适用于处理长序列数据。
    • 缺点:相比于普通RNN,LSTM模型更加复杂,计算量较大。
# 以下是一个简单的LSTM模型示例
model = tf.keras.Sequential([tf.keras.layers.LSTM(4, input_shape=(3, 1))
])

2、卷积神经网络(CNN)

  卷积神经网络(CNN)是一种专门用于处理图像数据的深度学习模型,其结构包括卷积层、池化层和全连接层等组成部分。

  • 结构组成部分
    • 卷积层(Convolutional Layer):通过卷积操作提取图像特征。
    • 池化层(Pooling Layer):降低特征图的维度,减少计算量。
    • 全连接层(Fully Connected Layer):将特征图展平并连接到输出层,用于分类或回归任务。
  • 应用场景案例
    • 图像分类:通过CNN对图像进行分类,如识别手写数字、猫狗分类等。
    • 目标检测:利用CNN定位图像中的物体并标注出其位置。
    • 人脸识别:CNN可以学习人脸的特征并进行识别。
  • 优点
    • 可以有效地捕获图像中的空间特征,具有平移不变性。
    • 在处理图像数据时表现出色,适用于图像相关任务。
  • 缺点
    • 需要大量的数据进行训练,对计算资源要求较高。
    • 可能会出现过拟合问题,需要进行适当的正则化处理。

以下是一个简单的CNN模型示例:

import tensorflow as tf
from tensorflow.keras import layers, modelsmodel = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))model.summary()

3、目标检测算法

  目标检测是计算机视觉领域中重要的任务,涉及到多种经典算法,包括RCNN系列(RCNN、Fast RCNN、Faster RCNN)、YOLO(You Only Look Once)和SSD(Single Shot MultiBox Detector)等。让我们逐个来深入学习这些算法的原理、区别、如何选择适合特定任务的算法,并为每个算法提供详细的应用场景案例、优缺点以及代码示例。

在这里插入图片描述

  • RCNN系列算法(RCNN、Fast RCNN、Faster RCNN)
    • 原理:RCNN系列算法通过候选区域的提取和分类来实现目标检测,其中Fast RCNN和Faster RCNN引入了ROI池化和RPN(Region Proposal Network)来提高速度和准确性。
    • 区别:Fast RCNN引入了ROI池化来减少重复计算,Faster RCNN在Fast RCNN的基础上引入了RPN网络来生成候选区域。
    • 选择适合任务的算法:RCNN系列算法适合需要较高准确率的目标检测任务,但速度较慢。
    • 应用场景案例:目标检测、物体识别等。
    • 优缺点:准确率高,但速度慢,需要多次前向传播。
# RCNN算法示例
def RCNN_detection(image):# 代码示例pass# Fast RCNN算法示例
def Fast_RCNN_detection(image):# 代码示例pass# Faster RCNN算法示例
def Faster_RCNN_detection(image):# 代码示例pass
  • YOLO(You Only Look Once)
    • 原理:YOLO算法将目标检测任务转化为回归问题,实现了端到端的目标检测。
    • 选择适合任务的算法:YOLO适合实时目标检测任务,速度快。
    • 应用场景案例:实时目标检测。
    • 优缺点:速度快,但对小目标的检测效果可能不如RCNN系列算法好。
# YOLO算法示例
def YOLO_detection(image):# 代码示例pass
  • SSD(Single Shot MultiBox Detector)
    • 原理:SSD算法通过在不同层次的特征图上预测目标的位置和类别,实现了多尺度目标检测。
    • 选择适合任务的算法:SSD适合多尺度目标检测任务。
    • 应用场景案例:多尺度目标检测。
    • 优缺点:速度快,能够检测多尺度目标。
# SSD算法示例
def SSD_detection(image):# 代码示例pass

4、图像分割算法

  图像分割是计算机视觉领域中的重要任务,主要包括语义分割和实例分割两种类型。让我们深入学习图像分割算法的原理、各种算法的优缺点和适用场景,并为每种算法提供详细的应用场景案例、优缺点以及代码示例。

在这里插入图片描述

  • 语义分割算法
    • 原理:语义分割旨在将图像中的每个像素分配到特定的类别,实现像素级别的分类。
    • 适用场景:场景理解、自动驾驶、医学图像分析等。
    • 优点:提供详细的像素级别分类信息。
    • 缺点:计算量大,对细小物体分割效果可能不理想。
# 语义分割算法示例
def semantic_segmentation(image):# 代码示例pass
  • 实例分割算法
    • 原理:实例分割不仅要求对图像进行像素级别的分类,还需要区分不同实例之间的边界。
    • 适用场景:物体检测、图像分析、视频分析等。
    • 优点:能够准确识别不同实例,并提供像素级别的分割。
    • 缺点:复杂度高,对遮挡、重叠等情况处理较为困难。
# 实例分割算法示例
def instance_segmentation(image):# 代码示例pass
  • 图像分割算法的应用场景案例
    • 语义分割:在自动驾驶中,通过语义分割可以识别道路、车辆、行人等,帮助车辆做出智能决策。
    • 实例分割:在医学图像分析中,实例分割可以帮助医生准确识别不同器官或病变区域。

5、人脸识别技术

  人脸识别技术是一种重要的生物特征识别技术,涉及到人脸检测、人脸对齐、特征提取和特征匹配等关键步骤。让我们深入了解这些人脸识别技术的原理、发展历程、应用场景案例以及优缺点,并为每个步骤提供详细的代码示例。

在这里插入图片描述

  • 人脸检测
    • 原理:人脸检测是指在图像中定位和识别人脸的过程,通常通过检测人脸的特征(如眼睛、鼻子、嘴巴等)来实现。
    • 应用场景案例:人脸识别门禁系统、人脸支付、人脸表情识别等。
    • 优缺点:准确性高,但对于遮挡、姿态变化等情况的处理有一定挑战。
# 人脸检测代码示例
import cv2# 加载人脸检测器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')# 读取图像
image = cv2.imread('face_image.jpg')# 进行人脸检测
faces = face_cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=5)# 绘制检测结果
for (x, y, w, h) in faces:cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)# 显示结果
cv2.imshow('Face Detection', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 人脸对齐

    • 原理:人脸对齐是将检测到的人脸图像进行标准化处理,使得人脸在图像中的位置、姿态和尺度保持一致。
    • 应用场景案例:人脸识别系统、人脸表情识别、人脸属性分析等。
    • 优缺点:提高后续特征提取和匹配的准确性,但对于复杂姿态和表情变化的处理有挑战。
  • 特征提取和特征匹配

    • 原理:特征提取是从人脸图像中提取具有区分性的特征,特征匹配是通过比较特征向量来识别和匹配人脸。
    • 应用场景案例:人脸识别、人脸认证、人脸支付等。
    • ``优缺点`:特征提取的准确性和鲁棒性对人脸识别的准确性至关重要,特征匹配的效率和准确性也是关键。

  以下是一个完整的示例,包括人脸检测、人脸对齐、特征提取和特征匹配的过程。在这个示例中,我们将使用OpenCV进行人脸检测和人脸对齐,使用dlib进行人脸关键点检测,使用FaceNet进行特征提取和特征匹配。

import cv2
import dlib
import numpy as np
from facenet_pytorch import MTCNN, InceptionResnetV1# 加载人脸检测器和关键点检测器
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
shape_predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')# 加载人脸特征提取器
resnet = InceptionResnetV1(pretrained='vggface2').eval()# 读取图像
image = cv2.imread('face_image.jpg')# 进行人脸检测
faces = face_detector.detectMultiScale(image, scaleFactor=1.1, minNeighbors=5)for (x, y, w, h) in faces:# 人脸对齐face_rect = dlib.rectangle(x, y, x+w, y+h)landmarks = shape_predictor(image, face_rect)aligned_face = dlib.get_face_chip(image, landmarks, size=256)# 特征提取aligned_face = cv2.cvtColor(aligned_face, cv2.COLOR_BGR2RGB)aligned_face = np.transpose(aligned_face, (2, 0, 1))aligned_face = np.expand_dims(aligned_face, axis=0)features = resnet(torch.tensor(aligned_face).float())# 特征匹配# 这里可以与数据库中的人脸特征向量进行比较,实现人脸识别# 显示结果
cv2.imshow('Face Detection and Alignment', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

  在这个示例中,我们使用了OpenCV进行人脸检测和显示结果,使用dlib进行人脸关键点检测和对齐,使用FaceNet进行人脸特征提取。这个示例展示了人脸识别技术中的完整流程,包括人脸检测、对齐、特征提取和特征匹配。

6、数据集和评估指标

  在计算机视觉领域,常用的数据集包括ImageNet、COCO(Common Objects in Context)、MNIST等,评估指标包括准确率、召回率、IoU(Intersection over Union)等。让我们深入了解这些数据集和评估指标的应用场景案例、优缺点,并为每个评估指标提供代码示例。

  • 数据集
    • ImageNet:包含超过1400万张图像,涵盖1000个类别,常用于图像分类、目标检测等任务。
    • COCO:包含超过33万张图像,涵盖80个类别,用于目标检测、实例分割等任务。
    • MNIST:包含手写数字图像,用于数字识别任务。
  • 评估指标
    • 准确率(Accuracy):分类任务中正确分类的样本数占总样本数的比例。
    • 召回率(Recall):正样本被正确识别的比例,Recall= TP/(TP+FN)
    • IoU(Intersection over Union):用于评估目标检测和分割任务中预测框与真实框的重叠程度,IoU= Intersection/Union
  • 应用场景案例
    • ImageNet:用于训练和评估图像分类模型,如ResNet、VGG等。
    • COCO:用于训练和评估目标检测、实例分割模型,如Mask R-CNN等。
    • MNIST:用于训练和评估手写数字识别模型,如卷积神经网络等。

准确率计算示例:

# 准确率计算代码示例
def accuracy(y_true, y_pred):correct = np.sum(y_true == y_pred)total = len(y_true)accuracy = correct / totalreturn accuracy

召回率计算示例:

# 召回率计算代码示例
def recall(true_positives, false_negatives):recall = true_positives / (true_positives + false_negatives)return recall

IoU计算示例:

# IoU计算代码示例
def calculate_iou(boxA, boxB):xA = max(boxA[0], boxB[0])yA = max(boxA[1], boxB[1])xB = min(boxA[2], boxB[2])yB = min(boxA[3], boxB[3])interArea = max(0, xB - xA + 1) * max(0, yB - yA + 1)boxAArea = (boxA[2] - boxA[0] + 1) * (boxA[3] - boxA[1] + 1)boxBArea = (boxB[2] - boxB[0] + 1) * (boxB[3] - boxB[1] + 1)iou = interArea / float(boxAArea + boxBArea - interArea)return iou

7、实际应用

  计算机视觉在实际应用中有许多重要的案例,包括自动驾驶、医疗影像分析、安防监控等领域。让我们深入了解这些应用场景案例、优缺点,并为每个领域提供代码示例。

在这里插入图片描述

  • 自动驾驶
    • 应用场景案例:自动驾驶车辆利用计算机视觉技术实现车道保持、交通标志识别、行人检测等功能。
    • 优缺点:优点包括提高交通安全、减少交通事故;缺点包括对环境光照、天气等条件敏感。

自动驾驶代码示例(车道线检测):

import cv2# 读取视频流
cap = cv2.VideoCapture('road_video.mp4')while cap.isOpened():ret, frame = cap.read()if not ret:break# 车道线检测# 可以使用Canny边缘检测、霍夫变换等方法实现# 这里简单示例使用Canny边缘检测edges = cv2.Canny(frame, 100, 200)cv2.imshow('Lane Detection', edges)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()
  • 医疗影像分析:
    • 应用场景案例:医疗影像分析中使用计算机视觉技术进行疾病诊断、肿瘤检测、器官分割等任务。
    • 优缺点:优点包括提高诊断准确性、加快诊断速度;缺点包括数据隐私保护、模型可解释性等问题。

医疗影像分析代码示例(医疗影像分割):

import cv2
import numpy as np# 读取医疗影像
image = cv2.imread('medical_image.jpg')# 医疗影像分割
# 可以使用深度学习模型(如U-Net)进行分割
# 这里简单示例使用阈值分割
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)cv2.imshow('Medical Image Segmentation', binary)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 安防监控:
    • 应用场景案例:安防监控系统利用计算机视觉技术进行人脸识别、异常行为检测、物体追踪等功能。
    • 优缺点:优点包括提高监控效率、减少人力成本;缺点包括隐私保护、误报率等问题。

安防监控代码示例(人脸识别):

import cv2# 加载人脸识别器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')# 读取摄像头视频流
cap = cv2.VideoCapture(0)while cap.isOpened():ret, frame = cap.read()if not ret:break# 人脸检测gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)for (x, y, w, h) in faces:cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)cv2.imshow('Face Recognition', frame)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()

总结

  计算机视觉算法在实际应用中扮演着重要角色,涵盖了多个领域,如自动驾驶、医疗影像分析和安防监控。通过图像处理和深度学习技术,实现了诸如车道线检测、医疗影像分割和人脸识别等功能。这些算法能够提高交通安全、医疗诊断准确性和安防监控效率,但也面临着数据隐私保护、模型可解释性等挑战。综合来看,计算机视觉算法在不同领域的应用展示了其巨大潜力和广阔前景,为实现智能化、自动化提供了重要支持。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

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

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

相关文章

FRP搭建内网穿透:云服务端 + 家用Linux/Windows主机【2024】

介绍 FRP是一个可以自己搭建内网穿透服务的开源项目,开源地址直达: FRP-GitHub 实际上frp由两个程序组成 ①frps:在服务端运行的程序 ②frpc:在客户端运行的程序 运作方式示意图如下 服务端 因为服务上使用了1Panel面板,直接在应用商店安…

【算法系列-链表】删除链表的倒数第N个结点

【算法系列-链表】删除链表的倒数第N个结点 文章目录 【算法系列-链表】删除链表的倒数第N个结点1. 算法分析🛸2. 模拟解决问题2.1 思路分析🎯2.2 代码示例🌰 3. 双指针(快慢指针)解决问题3.1 思路分析🎯3.2 代码示例&#x1f330…

软件验证与确认实验二-单元测试

目录 1. 实验目的及要求.................................................................................................... 3 2. 实验软硬件环境.................................................................................................... 3 …

进阶岛第4关:InternVL 多模态模型部署微调实践

准备InternVL模型 我们使用InternVL2-2B模型。该模型已在share文件夹下挂载好,现在让我们把移动出来。 mkdir -p /root/project/joke/modelcp -r /root/share/new_models/OpenGVLab/InternVL2-2B /root/project/joke/model # 不用ln -s 准备环境 这里我们来手动配…

Brave编译指南2024 MacOS篇-构建与运行(六)

引言 在上一篇文章中,我们成功初始化了Brave浏览器的构建环境。现在,我们进入了这个编译指南的核心部分:实际构建Brave浏览器并运行它。这个过程将把我们之前准备的所有源代码和依赖项转化为一个可运行的浏览器实例。 1. 编译Brave浏览器 …

【进阶OpenCV】 (5)--指纹验证

文章目录 指纹验证1. 验证原理2. 读取图片3. 计算特征匹配点 总结 指纹验证 指纹验证基于人类指纹的独特性和稳定性。每个人的指纹在图案、断点和交叉点上各不相同,这种唯一性和终生不变性使得指纹成为身份验证的可靠手段。指纹识别技术通过采集和分析指纹图像&…

docker 部署nacos

目录 一、拉取镜像 二、部署 三、访问(默认是用内嵌数据库) 四、配置 五、重启容器 一、拉取镜像 docker pull nacos/nacos-server 二、部署 docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --restartalways --privilegedt…

算法笔记(十)——队列+宽搜

文章目录 N 叉数的层序遍历二叉树的锯齿形层序遍历二叉树最大宽度在每个树行中找最大值 BFS是图上最基础、最重要的搜索算法之一; 每次都尝试访问同一层的节点如果同一层都访问完了,再访问下一层 BFS基本框架 void bfs(起始点) {将起始点放入队列中;标记…

Docker启动 Redis提示:Can‘t initialize Background Jobg

问题说明: 在使用docker启动redis失败,但是查看容器日志,除了提示 Fatal:Cant initialize Background Jobg,没有其他错误信息。经过长时间查找资料及试错,现记录下可能的产生原因及解决方案,以便以后参考。 产生原因&…

【漏洞复现】锐捷 RG-EW1200G 无线路由器 登录绕过

》》》产品描述《《《 锐捷网络RG-EW1200G是一款有线无线全千兆双频无线路由器Q,适合平层家居、别墅、小型店铺、SOHO办公等场景使用。设备性能卓越,足以满足千兆上网需求;信号强劲,信号功率功率提升3倍,覆盖距离提升近1倍覆盖能力…

【Linux】进程间关系与守护进程

超出能力之外的事, 如果永远不去做, 那你就永远无法进步。 --- 乌龟大师 《功夫熊猫》--- 进程间关系与守护进程 1 进程组2 会话3 控制终端4 作业控制5 守护进程 1 进程组 之前我们提到了进程的概念, 其实每一个进程除了有一个进程 ID(P…

算法: 二分查找题目练习

文章目录 二分查找二分查找在排序数组中查找元素的第一个和最后一个位置搜索插入位置x 的平方根山脉数组的峰顶索引寻找峰值寻找旋转排序数组中的最小值点名 总结精华模版 二分查找 二分查找 没啥可说的,轻轻松松~ class Solution {public int search(int[] nums, int target…

Pragmatic Task务实任务——指导语义通信的优化

1. 语义通信 语义通信(Semantic Communication)的核心理念是传递不仅仅是数据本身,而是数据所包含的“语义”或“意义”。这与传统通信系统不同,传统系统只注重如何准确、高效地传输数据,而语义通信则要求传输的信息能…

畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程序 目录 基于java的畅阅读系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…

基金好书入门阅读笔记《基金作战笔记:从投基新手到配置高手的进阶之路》1

今年的新书《基金作战笔记:从投基新手到配置高手的进阶之路》,趁着国庆前这个风潮,拿来学习下。 第一章 军规 军规1:莫求暴富,为自己设定一个长期目标。 军规2:永不满仓,找到自己的资产配置中…

Pikachu-Sql Inject-数字型注入(GET)

一、、破解 SQL 查询语句中的字段数 ?id1 order by 3 -- // -- 是注释, 加号 在MySQL中会转成空格 order by 1 ,by 数字几,就是按照第几列进行排序;如果没有这一行,则报错 如:以下语句,根据…

Pytorch实现RNN实验

一、实验要求 用 Pytorch 模块的 RNN 实现生成唐诗。要求给定一个字能够生成一首唐诗。 二、实验目的 理解循环神经网络(RNN)的基本原理:通过构建一个基于RNN的诗歌生成模型,学会RNN是如何处理序列数据的,以及如何在…

微信小程序使用picker,数组怎么设置默认值

默认先显示请选择XXX。然后点击弹出选择列表。如果默认value是0的话&#xff0c;他就直接默认显示数组的第一个了。<picker mode"selector" :value"planIndex" :range"planStatus" range-key"label" change"bindPlanChange&qu…

使用Conda管理python环境的指南

1. 准备 .yml 文件 确保你有一个定义了 Conda 环境的 .yml 文件。这个文件通常包括环境的依赖和配置设置。文件内容可能如下所示&#xff1a; name: myenv channels:- defaults dependencies:- python3.8- numpy- pandas- scipy- pip- pip:- torch- torchvision- torchaudio2…

OpenCV马赛克

#马赛克 import cv2 import numpy as np import matplotlib.pyplot as pltimg cv2.imread(coins.jpg,1) imgInfo img.shape height imgInfo[0] width imgInfo[1]for m in range(200,400): #m,n表示打马赛克区域for n in range(200,400):# pixel ->10*10if m%10 0 and …