CCPD数据集

news2024/10/6 12:20:47

官网: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 glob

val_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 glob

test_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 os

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'

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 os

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)
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 os

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)
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 cv2

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)
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 cv2

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)
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 cv2

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']

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 cv2

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']

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

print(provinces[first_index]+alphabets[second_index]+s)

打印如下

皖AD09292

裁剪车牌保存
import os
import cv2

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']

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 glob

train_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 cv2

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']

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 += i
       return provinces[first_index]+alphabets[second_index]+s

green_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 cv2
       
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']

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 += i
    return provinces[first_index]+alphabets[second_index]+s

def 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] += 1
    else: name2num[chepai] = 0

crop_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] -= 1
    if index % 2000==0: print(index)
图片数量: 11776
0
2000
4000
6000
8000
10000
import glob

crop_dir = './CCPD2020/ccpd_green/green_crop'
crop_imgPaths = glob.glob(crop_dir+'/*.jpg')
print('裁剪的车牌图片数量:',len(crop_imgPaths))
裁剪的车牌图片数量: 11776

批量裁剪成94x24大小
import glob
import os
import cv2
       
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']

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 += i
    return provinces[first_index]+alphabets[second_index]+s

def 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] += 1
    else: name2num[chepai] = 0

crop_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] -= 1
    if 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.coloradmin.cn/o/1828973.html

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

相关文章

机床网关功能特点、实施过程以及应用效果分享-天拓四方

随着工业4.0时代的到来,智能制造和工业互联网技术快速发展,机床作为制造业的核心设备,其智能化、网联化的需求日益迫切。机床网关作为连接机床与上层管理系统的关键枢纽,其重要性不言而喻。本案例将详细介绍机床网关的解决方案&am…

数据仓库和数据库有什么区别?

一、什么是数据仓库二、什么是数据库三、数据仓库和数据库有什么区别 一、什么是数据仓库 数据仓库(Data Warehouse)是一种专门用于存储和管理大量结构化数据的信息系统。它通过整合来自不同来源的数据,为企业提供统一、一致的数据视图&…

【百度智能体】零代码创建职场高情商话术助手智能体

一、前言 作为一个程序猿,工科男思维,走上职场后,总会觉得自己不会处理人际关系,容易背锅说错话,这时候如果有个助手能够时时刻刻提醒自己该如何说话如何做事情就好了。 而我们现在可以通过百度文心智能体平台构建各…

[论文精读]Line Graph Neural Networks for Link Prediction

论文网址:Line Graph Neural Networks for Link Prediction | IEEE Journals & Magazine | IEEE Xplore 论文代码:GitHub - divelab/LGLP 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法…

植物大战僵尸杂交版全新版v2.1解决全屏问题

文章目录 🚋一、植物大战僵尸杂交版❤️1. 游戏介绍💥2. 如何下载《植物大战僵尸杂交版》 🚀二、解决最新2.1版的全屏问题🌈三、画质增强以及减少闪退 🚋一、植物大战僵尸杂交版 《植物大战僵尸杂交版》是一款在原版《…

【three.js】设置canvas画布背景透明

通过Three.js渲染一个模型的时候,不希望canvas画布有背景颜色,也就是canvas画布完全透明,可以透过canvas画布看到画布后面叠加的HTML元素图文,呈现出来一种三维模型悬浮在网页上面的效果。 比如我们现在的模型背景是黑色的&#…

linxu-Ubuntu系统上卸载Kubernetes-k8s

如果您想从Ubuntu系统上卸载Kubernetes集群,您需要执行以下步骤: 1.关闭Kubernetes集群: 如果您的集群还在运行,首先您需要使用kubeadm命令来安全地关闭它: sudo kubeadm reset在执行该命令后,系统会提示…

哪些数据管理知识领域需要做到数据全生命周期管理

一、数据生命周期 数据管理、数据治理、数据安全、元数据管理、数据治理等知识领域,都需要按照数据的生命周期开展管理工作。数据生命周期包括计划、设计/启用、创建/获取、存储/维护、使用、增强和处置。详见下图。 1.数据治理生命周期 1)规划:将数据要求与业务战略连接起…

HTTP-代理

HTTP-代理 web代理服务器是网络的中间实体,代理位于客户端和服务器之间,扮演者中间人的角色,在各端点之间来回传递http报文 web的中间实体 web上的代理服务器是代表客户端完成事务处理的中间人,如果没有web代理,htt…

拍抖音素材段子去哪里找?哪里有搞笑段子文案以及视频素材?

拍抖音视频非常火爆,很多人都在为找素材发愁。别担心,今天我给大家推荐几个非常不错的网站,保证你们找到满满的灵感,拍出更有趣的段子视频! 蛙学府 首先要推荐的是蛙学府。这个网站不仅素材多,还提供各种段…

ChatGPT 网页会话过程数据传输分析以及横向对比

新建一个会话 https://chatgpt.com/backend-api/conversation POST 请求 {"action": "next","messages": [{"id": "aaa2d6d4-5a8b-473e-bd21-e3bf2ee4f571","author": {"role": "user"},&…

matlab动画模拟三体问题,微分方程,动力学

介绍 三体问题(Three-Body Problem)是经典力学中的一个著名问题,它研究的是三个质量相似的天体在相互引力作用下的运动规律。这个问题最早由艾萨克牛顿(Isaac Newton)在1687年的《自然哲学的数学原理》中提出&#xf…

oracle RAC安装 保姆级教程

使用SSHXmanager 我的本地IP是172.17.68.68 服务器配置 [rootrac12-1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #Public IP …

全网爆火《pvz植物大战僵尸杂交版》最新安装包,Android、Windows、ios安装包+教程!

今天阿星想和大家分享一个最近在B站上引起轰动的老游戏——《植物大战僵尸》! 是的,你没听错,就是那个曾经让我们熬夜到天亮,一关接一关挑战的游戏。 让我们来聊聊,这款游戏怎么就突然又火了起来呢? 原来…

[Linux] UDP协议介绍:UDP协议格式、端口号在网络协议栈那一层工作...

TCP/IP网络模型, 将网络分为了四层: 之前的文章中以HTTP和HTTPS这两个协议为代表, 简单介绍了应用层协议. 实际上, 无论是HTTP还是HTTPS等应用层协议, 都是在传输层协议的基础上实现的 而传输层协议中最具代表性的就是: UDP和TCP协议了. 以HTTP为例, 在使用HTTP协议通信之前, …

上海磐璟物流设备携物流笼车、金属周转箱等盛装亮相2024杭州快递物流展

上海磐璟物流设备有限公司携物流笼车、金属周转箱、周转架等物流设备盛装亮相2024长三角快递物流展(杭州),7月8日杭州国际博览中心3C馆C09-1与您相约! 我公司是集研发、设计、生产、销售、服务为一体的物流装备企业;1…

【学习-华为HCIA数通网络工程师真题(持续更新)】(2024-6-16更)

1、在 VRP 平台上,可以通过下面哪种方式访向上条历史命令? 上光标 (ctrlU 为自定义快捷键,ctrlP 为显示历史缓存区的前一条命令,左光标为移动光标) 2、主机 A (10.1.1.2/24)和主机 B…

函数(上)(C语言)

函数(上) 一. 函数的概念二. 函数的使用1. 库函数和自定义函数(1) 库函数(2) 自定义函数的形式 2. 形参和实参3. return语句4. 数组做函数参数 一. 函数的概念 数学中我们其实就见过函数的概念,比如:一次函数ykxb,k和b都是常数&a…

acwing 5575. 改变数值 | c++题解及解释

acwing 5575. 改变数值 题目 代码及解释 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_map> using namespace std;const int N305; int a[N],b[N]; unordered_map<int,int>f[N]; const int INF1e9;int gc…

DDPAI盯盯拍记录仪删除后的恢复方法(前后双路)

DDPAI盯盯拍行车记录仪的口碑相当不错&#xff0c;其产品一直以行车记录仪为主&#xff0c;曾经使用过比较早的产品&#xff0c;体验还不错。下面来看下这个DDPAI的视频恢复方法。 故障存储: 64G存储卡 /文件系统&#xff1a;FAT32 故障现象: 在发生事故后在记录仪上看到了…