CCPD数据集

官网:https://github.com/detectRecog/CCPD

其它介绍:https://blog.csdn.net/qianbin3200896/article/details/103009221

CCPD (Chinese City Parking Dataset, ECCV)

provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']

官网github给的3个列表最后都有一个字母O,不是数字0,当作结尾符号,因为中国车牌没有大写字母O,其实也没有大写字母I

省份简称里的"警" 公安内部车, "学" 驾校的车,车牌号没有小写字母

图片名称例子

name = "025-95_113-154&383_386&473-386&473_177&454_154&383_363&402-0_0_22_27_27_33_16-37-15.jpg"print(len(name.split('-')))
print(name.split('-'))

结果如下

7
['025', '95_113', '154&383_386&473', '386&473_177&454_154&383_363&402', '0_0_22_27_27_33_16', '37', '15.jpg']

分割成了7段

  • 154&383_386&473:车牌框的第1、第4个点
  • 0_0_22_27_27_33_16:省份简称_字母_5个字母或数字组合

2020年绿牌数据

车牌号有8位 

train数量

5769
['./CCPD2020/ccpd_green/train/0245182291667-88_93-221&481_490&573-489&561_221&573_223&485_490&481-0_0_3_25_29_31_31_31-132-139.jpg','./CCPD2020/ccpd_green/train/0161783854167-93_97-255&489_465&566-465&566_258&553_255&489_461&495-0_0_3_24_27_26_31_30-148-296.jpg','./CCPD2020/ccpd_green/train/0133203125-90_102-228&515_426&583-426&583_240&582_228&518_413&515-0_0_5_24_29_33_33_30-121-38.jpg']
val数量
import globval_dir = './CCPD2020/ccpd_green/val'
val_imgPaths = glob.glob(val_dir+'/*.jpg')
print(len(val_imgPaths))
print(val_imgPaths[0])
1001
./CCPD2020/ccpd_green/val/04189453125-105_107-165&464_435&620-435&620_172&540_165&464_433&532-0_0_3_25_29_29_30_30-95-92.jpg
test数量
import globtest_dir = './CCPD2020/ccpd_green/test'
test_imgPaths = glob.glob(test_dir+'/*.jpg')
print(len(test_imgPaths))
print(test_imgPaths[0])
5006
./CCPD2020/ccpd_green/test/00954022988505747-90_263-190&522_356&574-356&574_195&571_190&522_351&523-0_0_3_29_32_26_26_26-151-54.jpg
画框

用上面这张图为例

import osimgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'print(os.path.splitext(imgPath))

打印如下

('CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32', '.jpg')

分割图片名称

import osimgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
print(numName.split('-'))

打印如下

['CCPD2020/ccpd_green/val/02', '84_90', '245&479_437&584', '437&551_245&584_245&503_429&479', '0_0_3_24_33_26_33_26', '103', '32']

分割框的2个坐标

import osimgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
x1_y1,x2_y2 = numName.split('-')[2].split('_')
print(x1_y1,x2_y2)
x1,y1 = x1_y1.split('&')
x2,y2 = x2_y2.split('&')
print(x1,y1,x2,y2)

打印如下

245&479 437&584
245 479 437 584

显示框

import os
import cv2imgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
x1_y1,x2_y2 = numName.split('-')[2].split('_')
x1,y1 = x1_y1.split('&')
x2,y2 = x2_y2.split('&')img = cv2.imread(imgPath)
cv2.rectangle(img, (int(x1),int(y1)), (int(x2), int(y2)), (0, 0, 255), 2)
cv2.imshow('img',img)
cv2.waitKey(10000)
cv2.destroyAllWindows()

车牌号名称
import os
import cv2imgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
print(numName.split('-')[4])
print(numName.split('-')[4].split('_'))

打印如下

0_0_3_24_33_26_33_26
['0', '0', '3', '24', '33', '26', '33', '26']

换成号码

import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']imgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
index = [int(i) for i in numName.split('-')[4].split('_')]
first_index = index[0]
second_index = index[1]
last5_index = index[2:]print(provinces[first_index],alphabets[second_index])
print([ads[i] for i in last5_index])

打印如下

皖 A
['D', '0', '9', '2', '9', '2']

拼成号码
import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']imgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
index = [int(i) for i in numName.split('-')[4].split('_')]
first_index = index[0]
second_index = index[1]
last5_index = index[2:]s = ''
for i in [ads[i] for i in last5_index]:s += iprint(provinces[first_index]+alphabets[second_index]+s)

打印如下

皖AD09292

裁剪车牌保存
import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']imgPath = 'CCPD2020/ccpd_green/val/02-84_90-245&479_437&584-437&551_245&584_245&503_429&479-0_0_3_24_33_26_33_26-103-32.jpg'numName, _ = os.path.splitext(imgPath)
index = [int(i) for i in numName.split('-')[4].split('_')]
first_index = index[0]
second_index = index[1]
last5_index = index[2:]
s = ''
for i in [ads[i] for i in last5_index]: s += i
imgName = provinces[first_index]+alphabets[second_index]+s+'.jpg'x1_y1,x2_y2 = numName.split('-')[2].split('_')
x1,y1 = x1_y1.split('&')
x2,y2 = x2_y2.split('&')
img = cv2.imread(imgPath)
img_crop = img[int(y1):int(y2),int(x1):int(x2)]
cv2.imwrite(imgName,img_crop)

train/val/test的图片是否重名
import globtrain_dir = './CCPD2020/ccpd_green/train'
train_imgPaths = glob.glob(train_dir+'/*.jpg')val_dir = './CCPD2020/ccpd_green/val'
val_imgPaths = glob.glob(val_dir+'/*.jpg')test_dir = './CCPD2020/ccpd_green/test'
test_imgPaths = glob.glob(test_dir+'/*.jpg')print(len(train_imgPaths)+len(val_imgPaths)+len(test_imgPaths))merge = set()
merge.update(train_imgPaths,val_imgPaths,test_imgPaths)
print(len(merge))

打印如下

11776
11776

没有重名的图片

合并train/val/test文件夹

把train/val/test文件夹下的图片拷到green文件夹

11776
 同一车牌是否多次采集
import glob
import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']def get_chepai(path):numName, _ = os.path.splitext(path)index = [int(i) for i in numName.split('-')[4].split('_')]first_index = index[0]second_index = index[1]last5_index = index[2:]s = ''for i in [ads[i] for i in last5_index]: s += ireturn provinces[first_index]+alphabets[second_index]+sgreen_dir = './CCPD2020/ccpd_green/green'
green_imgPaths = glob.glob(green_dir+'/*.jpg')
print('图片数量:',len(green_imgPaths))chepai = set()
for imgPath in green_imgPaths:chepai.add(get_chepai(imgPath))
print('车牌数量:', len(chepai))

打印如下

图片数量: 11776
车牌数量: 3298

同一车牌采集了多次

批量裁剪车牌
import glob
import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']def get_chepai(path):numName, _ = os.path.splitext(path)index = [int(i) for i in numName.split('-')[4].split('_')]first_index = index[0]second_index = index[1]last5_index = index[2:]s = ''for i in [ads[i] for i in last5_index]: s += ireturn provinces[first_index]+alphabets[second_index]+sdef get_box(path):numName, _ = os.path.splitext(path)x1_y1,x2_y2 = numName.split('-')[2].split('_')x1,y1 = x1_y1.split('&')x2,y2 = x2_y2.split('&')return [int(x1),int(y1),int(x2),int(y2)]green_dir = './CCPD2020/ccpd_green/green'
green_imgPaths = glob.glob(green_dir+'/*.jpg')
print('图片数量:',len(green_imgPaths))name2num = dict()
for imgPath in green_imgPaths:chepai = get_chepai(imgPath)if chepai in name2num: name2num[chepai] += 1else: name2num[chepai] = 0crop_dir = './CCPD2020/ccpd_green/green_crop/'
for index,imgPath in enumerate(green_imgPaths):chepai = get_chepai(imgPath)img = cv2.imread(imgPath)x1,y1,x2,y2 = get_box(imgPath)img_crop = img[y1:y2,x1:x2]cv2.imwrite(crop_dir+'{}_{}.jpg'.format(chepai,name2num[chepai]),img_crop)name2num[chepai] -= 1if index % 2000==0: print(index)
图片数量: 11776
0
2000
4000
6000
8000
10000
import globcrop_dir = './CCPD2020/ccpd_green/green_crop'
crop_imgPaths = glob.glob(crop_dir+'/*.jpg')
print('裁剪的车牌图片数量:',len(crop_imgPaths))
裁剪的车牌图片数量: 11776

批量裁剪成94x24大小
import glob
import os
import cv2provinces = ["皖", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "京", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "警", "学", "O"]
alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'O']
ads = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'O']def get_chepai(path):numName, _ = os.path.splitext(path)index = [int(i) for i in numName.split('-')[4].split('_')]first_index = index[0]second_index = index[1]last5_index = index[2:]s = ''for i in [ads[i] for i in last5_index]: s += ireturn provinces[first_index]+alphabets[second_index]+sdef get_box(path):numName, _ = os.path.splitext(path)x1_y1,x2_y2 = numName.split('-')[2].split('_')x1,y1 = x1_y1.split('&')x2,y2 = x2_y2.split('&')return [int(x1),int(y1),int(x2),int(y2)]green_dir = './CCPD2020/ccpd_green/green'
green_imgPaths = glob.glob(green_dir+'/*.jpg')
print('图片数量:',len(green_imgPaths))name2num = dict()
for imgPath in green_imgPaths:chepai = get_chepai(imgPath)if chepai in name2num: name2num[chepai] += 1else: name2num[chepai] = 0crop_dir = './CCPD2020/ccpd_green/green_crop_94x24/'
for index,imgPath in enumerate(green_imgPaths):chepai = get_chepai(imgPath)img = cv2.imread(imgPath)x1,y1,x2,y2 = get_box(imgPath)img_crop = img[y1:y2,x1:x2]img_crop = cv2.resize(img_crop,(94,24))cv2.imwrite(crop_dir+'{}_{}.jpg'.format(chepai,name2num[chepai]),img_crop)name2num[chepai] -= 1if index % 2000==0: print(index)crop_imgPaths = glob.glob(crop_dir+'/*.jpg')
print('裁剪的车牌图片数量:',len(crop_imgPaths))

打印结果

图片数量: 11776
0
2000
4000
6000
8000
10000
裁剪的车牌图片数量: 11776

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

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

相关文章

跟着刘二大人学pytorch(第---13---节课之RNN高级篇)

文章目录 0 前言0.1 课程视频链接:0.2 课件下载地址: 1 本节课任务描述模型的处理过程训练循环初始化分类器是否使用GPU构造损失函数和优化器每个epoch所要花费的时间遍历每个epoch时进行训练和测试记录每次测试的准确率加入到列表中 具体实现&#xff0…

0基础可以直接学python自动化测试吗?

可以直接学习Python自动化测试,即使没有编程基础。Python是一种易于学习和上手的编程语言,也是自动化测试领域中最受欢迎的语言之一。下面是一篇超详细和规范的文章,将从零开始介绍Python自动化测试的基础知识。 1. 安装Python和开发环境 首…

项目进度和成本管理

1.如何正确标识出软件项目活动? 正确标识软件项目活动是项目管理中的一个重要步骤,它有助于确保项目的顺利进行和成功完成。以下是一些标识软件项目活动的步骤和建议: 项目范围定义:首先明确项目的目标和范围,这将帮助…

初识前端开发

目的 :开发一个网站 -前端开发:html 、css、javaScript -web框架:接收请求处理 -mysql数据库:存储数据的地方 快速上手: 基于Flask web框架让你快速搭建一个网站出来 学习: 基于Django框架 初识HTML …

刷代码随想录有感(106):动态规划——分割等和子集(01背包问题)

题干&#xff1a; 代码&#xff1a; class Solution { public:bool canPartition(vector<int>& nums) {int sum 0;for(int i : nums){sum i;}if(sum % 2 ! 0)return false;int target sum / 2;vector<int>dp(10001, 0);for(int i 0; i < nums.size(); …

Windows11和Ubuntu22双系统安装指南

一、需求描述 台式机电脑&#xff0c;已有Windows11操作系统&#xff0c;想要安装Ubuntu22系统&#xff08;版本任意&#xff09;。其中Windows安装在Nvme固态上&#xff0c;Ubuntu安装在Sata固态上&#xff0c;双盘双系统。开机时使用Grub控制进入哪个系统&#xff0c;效果图…

Python进阶:从函数到文件的编程艺术!!!

第二章&#xff1a;Python进阶 模块概述 函数是一段可重复使用的代码块&#xff0c;它接受输入参数并返回一个结果。函数可以用于执行特定的任务、计算结果、修改数据等&#xff0c;使得代码更具模块化和可重用性。 模块是一组相关函数、类和变量的集合&#xff0c;它们被封…

第 2 章:Spring Framework 中的 IoC 容器

控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09;与 面向切面编程&#xff08;Aspect Oriented Programming&#xff0c;AOP&#xff09;是 Spring Framework 中最重要的两个概念&#xff0c;本章会着重介绍前者&#xff0c;内容包括 IoC 容器以及容器中 …

Yum安装LAMP

查看当前80端口是否被占用 ss -tulanp | grep 80查询httpd是否在yum源中 yum info httpd安装httpd yum -y install httpd启动httpd服务&#xff0c;设置开机自启 systemctl enable httpd --now systemctl start httpd查看当前进程 ps aux | grep httpd查看当前IP&#xff…

自动化技术如何影响企业数据分析的发展

当今时代&#xff0c;企业普遍面临着转型的压力&#xff0c;这些挑战主要源于在科技和市场的双重压力下如何实现增长。当前&#xff0c;企业发展的趋势是紧追自动化的浪潮&#xff0c;并通过优化预算管理流程&#xff0c;推进系统和数据分析的现代化。在这一过程中&#xff0c;…

LoRA用于高效微调的基本原理

Using LoRA for efficient fine-tuning: Fundamental principles — ROCm Blogs (amd.com) 大型语言模型的低秩适配&#xff08;LoRA&#xff09;用于解决微调大型语言模型&#xff08;LLMs&#xff09;的挑战。GPT和Llama等拥有数十亿参数的模型&#xff0c;特定任务或领域的微…

怎样搭建serveru ftp个人服务器

首先说说什么是ftp&#xff1f; FTP协议是专门针对在两个系统之间传输大的文件这种应用开发出来的&#xff0c;它是TCP/IP协议的一部分。FTP的意思就是文件传输协议&#xff0c;用来管理TCP/IP网络上大型文件的快速传输。FTP早也是在Unix上开发出来的&#xff0c;并且很长一段…

Vue54-浏览器的本地存储webStorage

一、本地存储localStorage的作用 二、本地存储的代码实现 2-1、存储数据 注意&#xff1a; localStorage是window上的函数&#xff0c;所以&#xff0c;可以把window.localStorage直接写成localStorage&#xff08;直接调用&#xff01;&#xff09; 默认调了p.toString()方…

中小企业使用CRM系统的优势有哪些

中小企业如何在竞争激烈的市场中脱颖而出&#xff1f;除了优秀的产品和服务&#xff0c;一个高效的管理工具也是必不可少的。而客户关系管理&#xff08;CRM&#xff09;系统正是这样一个能帮助企业提升客户体验、优化内部管理流程的重要工具。接下来&#xff0c;让我们一起探讨…

主流框架选择:React、Angular、Vue的详细比较

目前前端小伙伴经常使用三种广泛使用的开发框架&#xff1a;React、Angular、Vue - 来设计网站 Reactjs&#xff1a;效率和多功能性而闻名 Angularjs&#xff1a;创建复杂的应用程序提供了完整的解决方案&#xff0c;紧凑且易于使用的框架 Vuejs&#xff1a;注重灵活性和可重用…

Prometheus之图形化界面grafana与服务发现

前言 上一篇文章中我们介绍了Prometheus的组件&#xff0c;监控作用&#xff0c;部署方式&#xff0c;以及如何通过在客户机安装exporter再添加监控项的操作。 但是不免会发现原生的Prometheus的图像化界面对于监控数据并不能其他很好的展示效果。所以本次我们将介绍一…

Cookie-SameSite属性 前端请求不带cookie的问题解决方案

最近遇到了前端请求后端不带cookie的问题&#xff0c; 请求时header里面就是没有cookie 查看响应应该是这个问题 SameSite是一个cookie属性&#xff0c;用于控制浏览器是否在跨站点请求中发送cookie。它有三个可能的值&#xff1a; 1. Strict&#xff08;严格模式&#xff09…

浙大版PTA Python程序设计 题目与知识点整理(综合版)

目录 第一章 一、高级语言程序的执行方式 二、变量赋值与内存地址 三、字符编码 3.1 Unicode 3.2 ASCII&#xff08;American Standard Code for Information Interchange&#xff09; 四、编程语言分类按照编程范式分类 4.1 面向过程语言 4.2 面向对象语言 五、原码…

第零篇——数学到底应该怎么学?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 宏观讲解数学定位&#xff0c;数学学习方式方法&#xff0c;再次详细学习…

Synctv安装过程中遇到的docker镜像国内无法pull的问题

0x01 docker无法直接拉取对应镜像文件的问题 docker目前国内网络环境无法直接拉去小众而且稍微前沿的docker镜像产品&#xff0c;这对很多折腾玩家及其不友好&#xff0c;我首先想到了替换成国内的docker镜像站&#xff0c;但是对于SyncTV这个产品的docker镜像文件还是无法拉去…