位置: IT常识 - 正文

【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练

编辑:rootadmin
【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练 【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练前言K210准备工作K210如何拍摄照片准备工作拍摄相关代码定义用K210拍摄到的照片在MaixHub平台上训练模型测试未开启数据增强的测试结果开启数据增强的测试结果小结前言

推荐整理分享【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find_blobs 函数实现一些寻找不同颜色的目标点,寻找不同颜色的线,后面会更新更多 image 模块中的函数使用方法),按键、LCD、LED的使用,定时器的使用,串口通信的方法,以及如何使用MaixHub平台在线训练模型。

sensor 的学习笔记传送门 【K210】K210学习笔记一——sensor image 的学习笔记传送门 【K210】K210学习笔记二——image 按键、LCD、LED的使用 的学习笔记传送门 【K210】K210学习笔记三——按键、LCD、LED的使用 定时器的使用传送门 【K210】K210学习笔记四——定时器的使用 串口通信传送门 【K210】K210学习笔记五——串口通信 MaixHub在线模型训练传送门 【K210】K210学习笔记六——MaixHub在线模型训练识别数字

串口通信(往期)传送门 【串口通信】K210与STM32串口通信、K210与OpenMV串口通信

本文着重于如何使用K210拍摄图片,并将图片上传到MaixHub平台进行模型训练。补充一下一些经验心得,比如一些训练参数的设置。

K210准备工作

由于K210的RAM只有8M,为了让运行的模型可以更大,避免出现内存不够的情况,需要刷入小一点的固件,固件及刷固件工具如下,我设置的是0积分免费下载。 固件烧入 将压缩包解压,点开kflash文件夹,双击运行程序。 在打开的程序中点击打开文件,然后选择要刷入的固件。 然后点击下载即可开始刷入固件。

K210如何拍摄照片准备工作

这里需要用到SD卡,首先需要用读卡器打开SD卡,在SD卡根目录下创建一个名为img的文件夹。 然后将SD卡直接插到K210上即可。

拍摄相关代码定义

导入模块,这里打算用K210上自带的按键KEY进行拍照(该按键自动接到16脚),所以除了必要的感光元件模块以外,还需要引入引脚注册模块,lcd是方便脱机拍照(代码烧入后,可以拿个充电宝或者其他的可以输出5V电压的给K210供电,就可以拿着K210拍照了,不然还要带个笔记本电脑怪麻烦的)。

# Get_V1.0 - By: FITQY - 周五 8 月 26 日 2022#__________________________________________________________________# 导入模块import sensor, time, image # 导入感光元件模块 sensor 跟踪运行时间模块 time 机器视觉模块 imageimport utime # 导入延时模块 utimefrom fpioa_manager import fm # 从 fpioa_manager 模块中导入 引脚注册模块 fmfrom Maix import GPIO # 从 Maix 模块中导入 模块 GPIOimport lcd # 导入 LCD 模块【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练

感光元件的设置,比起之前的设置,只是多了倒数第二行的设置图像大小为224 x 224。

#__________________________________________________________________# 感光元件设置sensor.reset() # 重置并初始化感光元件 默认设置为 摄像头频率 24M 不开启双缓冲模式#sensor.reset(freq=24000000, dual_buff=True) # 设置摄像头频率 24M 开启双缓冲模式 会提高帧率 但内存占用增加sensor.set_pixformat(sensor.RGB565) # 设置图像格式为 RGB565 (彩色) 除此之外 还可设置格式为 GRAYSCALE 或者 YUV422sensor.set_framesize(sensor.QVGA) # 设置图像大小为 QVGA (320 x 240) 像素个数 76800 K210最大支持格式为 VGAsensor.set_auto_exposure(0) # 关闭自动曝光#sensor.set_auto_exposure(0, exposure=120000) # 设置手动曝光 曝光时间 120000 us#sensor.set_auto_gain(0) # 关闭画面增益sensor.set_auto_gain(0, gain_db = 16) # 设置画面增益 16 dB 影响实时画面亮度sensor.set_auto_whitebal(0) # 关闭RGB自动增益(白平衡)#sensor.set_auto_whitebal(0, rgb_gain_db = (0,0,0)) # 设置RGB增益 0 0 0 dB 影响画面色彩呈现效果 在 K210 上无法调节增益 初步判定是感光元件 ov2640 无法支持#sensor.set_contrast(0) # 设置对比度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释#sensor.set_brightness(0) # 设置亮度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释#sensor.set_saturation(0) # 设置饱和度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释sensor.set_vflip(1) # 打开垂直翻转 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反sensor.set_hmirror(1) # 打开水平镜像 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反sensor.set_windowing((224,224)) # 设置图像大小为 224 224sensor.skip_frames(time = 2000) # 延时跳过2s 等待感光元件稳定

LED的设置,这一步可以没有,我只是用来判断按键有没有被按下才加的这个,我设置的是,如果按键按下的话,LED会切换。

#__________________________________________________________________# LED的使用# 注册 LED 引脚fm.register(14, fm.fpioa.GPIO2, force = True) # 配置 14 脚为 LED_R 强制注册fm.register(13, fm.fpioa.GPIO1, force = True) # 配置 13 脚为 LED_G 强制注册fm.register(12, fm.fpioa.GPIO0, force = True) # 配置 12 脚为 LED_B 强制注册# 创建 LED 对象LED_R = GPIO(GPIO.GPIO2, GPIO.OUT) # 创建 LED_R 对象LED_G = GPIO(GPIO.GPIO1, GPIO.OUT) # 创建 LED_G 对象LED_B = GPIO(GPIO.GPIO0, GPIO.OUT) # 创建 LED_B 对象# LED控制函数def LED_Control(led_flag): # LED控制函数 根据传入 led_flag 点亮对应的灯 需要注意的是 0为点亮 1为熄灭 if led_flag == 0: # 传入参数为 0 所有灯打开 LED_R.value(0) LED_G.value(0) LED_B.value(0) elif led_flag == 1: # 传入参数为 1 所有灯关闭 LED_R.value(1) LED_G.value(1) LED_B.value(1) elif led_flag == 2: # 传入参数为 2 红灯常亮 LED_R.value(0) LED_G.value(1) LED_B.value(1) elif led_flag == 3: # 传入参数为 3 绿灯常亮 LED_R.value(1) LED_G.value(0) LED_B.value(1) elif led_flag == 4: # 传入参数为 4 蓝灯常亮 LED_R.value(1) LED_G.value(1) LED_B.value(0) else: # 其他情况 紫灯 LED_R.value(0) LED_G.value(1) LED_B.value(0)

按键的设置,和往期一样的,只是把另外三个按键删掉了而已,然后在按键0的回调函数中加入了拍照函数。

#__________________________________________________________________# 按键的使用# 定义按键控制类class Key_Control(): # 定义按键控制类 cnt = 0 # 按键计数值 cs = 0 # 按键模式选择标志位 csmax = 0 # 按键模式上限 csflag = 0 # 按键模式切换标志位 cinput = 0 # 按键输入值保存位 control = 0 # 按键确认及发送控制标志位 img_cnt = 0 # 照片计数值# 实例化按键类key = Key_Control() # 实例化按键控制类 Key_Control() 为 keykey.csmax = 3 # 按键模式上限为 3 即最多有 4 个模式 (0, 1, 2, 3)# 注册按键引脚fm.register(16, fm.fpioa.GPIOHS0, force = True) # 配置 16 脚为 KEY0 使用高速 GPIO 口 强制注册# 创建按键对象KEY0 = GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_UP) # 创建按键对象 KEY0# 中断回调函数 KEY0 控制按键模式选择def Key0_Switch(KEY0): utime.sleep_ms(10) # 延时 10ms 消除按键抖动 if KEY0.value() == 0: # 确认 按键0 按下 key.csflag = 1 # 标记按键模式切换 if key.cs < key.csmax: # 若当前按键模式值小于按键模式选择上限值 key.cs = key.cs + 1 # 控制按键模式选择 自增 else: # 若达到上限 则重新从 0 开始 key.cs = 0 Get_Image(key) # 触发中断的时候拍摄一张照片# 开启中断 下降沿触发KEY0.irq(Key0_Switch, GPIO.IRQ_FALLING) # 开启 按键0 外部中断 下降沿触发

拍照函数如下所示,主要就是根据计数器的值保存照片,可以支持保存0000.jpg到9999.jpg共1万张照片,如果你要保存超过1万张,再加个判断就好了(emm应该也没有什么电赛题目识别的东西需要这么大的数据集吧)

#__________________________________________________________________# 获取照片函数def Get_Image(key): # 拍摄一张照片 保存到 SD卡 的 img 目录下 名字为 000 + key.img_cnt.jpg 如 0001.jpg if key.img_cnt < 10: sensor.snapshot().save("/sd/img/000"+str(key.img_cnt)+".jpg") elif key.img_cnt < 100: sensor.snapshot().save("/sd/img/00"+str(key.img_cnt)+".jpg") elif key.img_cnt < 1000: sensor.snapshot().save("/sd/img/0"+str(key.img_cnt)+".jpg") elif key.img_cnt < 10000: sensor.snapshot().save("/sd/img/"+str(key.img_cnt)+".jpg") key.img_cnt = key.img_cnt + 1 # 计数值自增

然后就是LCD的设置,这一步最好要有,有了会比较方便,还可以在LCD上看到当前拍摄了几张图片(第一行img_cnt后面显示的数字就是拍摄照片的张数)

#__________________________________________________________________# LCD# LCD 初始化lcd.init() # lcd初始化# LCD 打印照片张数def LCD_Show(): lcd.draw_string(0, 0, "img_cnt: "+str(key.img_cnt), lcd.BLUE, lcd.WHITE) lcd.draw_string(0, 15, "Gain : "+str(sensor.get_gain_db()), lcd.BLUE, lcd.WHITE) lcd.draw_string(0, 30, "RGBGain: "+str(sensor.get_rgb_gain_db()), lcd.BLUE, lcd.WHITE)

主函数如下所示,key.img_cnt这一句话是设置从第几个序号开始保存照片,举个例子。 比如设置为0,那么就是从0000开始保存。 设置为100,就是从0100开始保存。 这一个设置的目的就是,方便后续添加数据集,比如我现在只拍摄了31张图片,那么img文件夹里面的照片是从0000.jpg到0030.jpg,如果要添加新。的数据集,那么需要将key.img_cnt的值改成31,就可以从0031.jpg开始保存,如果从0000开始的话会覆盖掉之前的照片。

#__________________________________________________________________# 照片起始序号设置key.img_cnt = 0#__________________________________________________________________# 主函数模式选择while(True): clock.tick() # 跟踪运行时间 img=sensor.snapshot() # 摄像头拍摄一张图片 lcd.display(img) # LCD 显示图像 LCD_Show() # LCD 显示照片张数 LED_Control(key.cs) # 按键控制 LED 表示按键有成功按下#__________________________________________________________________

完整代码如下,可以复制然后用K210拍摄你的数据集了!

# Get_V1.0 - By: FITQY - 周五 8 月 26 日 2022#__________________________________________________________________# 导入模块import sensor, time, image # 导入感光元件模块 sensor 跟踪运行时间模块 time 机器视觉模块 imageimport utime # 导入延时模块 utimefrom fpioa_manager import fm # 从 fpioa_manager 模块中导入 引脚注册模块 fmfrom Maix import GPIO # 从 Maix 模块中导入 模块 GPIOimport lcd # 导入 LCD 模块#__________________________________________________________________# 感光元件设置sensor.reset() # 重置并初始化感光元件 默认设置为 摄像头频率 24M 不开启双缓冲模式#sensor.reset(freq=24000000, dual_buff=True) # 设置摄像头频率 24M 开启双缓冲模式 会提高帧率 但内存占用增加sensor.set_pixformat(sensor.RGB565) # 设置图像格式为 RGB565 (彩色) 除此之外 还可设置格式为 GRAYSCALE 或者 YUV422sensor.set_framesize(sensor.QVGA) # 设置图像大小为 QVGA (320 x 240) 像素个数 76800 K210最大支持格式为 VGAsensor.set_auto_exposure(0) # 关闭自动曝光#sensor.set_auto_exposure(0, exposure=120000) # 设置手动曝光 曝光时间 120000 us#sensor.set_auto_gain(0) # 关闭画面增益sensor.set_auto_gain(0, gain_db = 16) # 设置画面增益 16 dB 影响实时画面亮度sensor.set_auto_whitebal(0) # 关闭RGB自动增益(白平衡)#sensor.set_auto_whitebal(0, rgb_gain_db = (0,0,0)) # 设置RGB增益 0 0 0 dB 影响画面色彩呈现效果 在 K210 上无法调节增益 初步判定是感光元件 ov2640 无法支持#sensor.set_contrast(0) # 设置对比度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释#sensor.set_brightness(0) # 设置亮度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释#sensor.set_saturation(0) # 设置饱和度 0 这个参数无法读取 且调这个参数对画面似乎不会产生影响 暂时注释sensor.set_vflip(1) # 打开垂直翻转 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反sensor.set_hmirror(1) # 打开水平镜像 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反sensor.set_windowing((224,224)) # 设置图像大小为 224 224sensor.skip_frames(time = 2000) # 延时跳过2s 等待感光元件稳定#__________________________________________________________________# 创建时钟对象clock = time.clock() # 创建时钟对象 clock#__________________________________________________________________# LED的使用# 注册 LED 引脚fm.register(14, fm.fpioa.GPIO2, force = True) # 配置 14 脚为 LED_R 强制注册fm.register(13, fm.fpioa.GPIO1, force = True) # 配置 13 脚为 LED_G 强制注册fm.register(12, fm.fpioa.GPIO0, force = True) # 配置 12 脚为 LED_B 强制注册# 创建 LED 对象LED_R = GPIO(GPIO.GPIO2, GPIO.OUT) # 创建 LED_R 对象LED_G = GPIO(GPIO.GPIO1, GPIO.OUT) # 创建 LED_G 对象LED_B = GPIO(GPIO.GPIO0, GPIO.OUT) # 创建 LED_B 对象# LED控制函数def LED_Control(led_flag): # LED控制函数 根据传入 led_flag 点亮对应的灯 需要注意的是 0为点亮 1为熄灭 if led_flag == 0: # 传入参数为 0 所有灯打开 LED_R.value(0) LED_G.value(0) LED_B.value(0) elif led_flag == 1: # 传入参数为 1 所有灯关闭 LED_R.value(1) LED_G.value(1) LED_B.value(1) elif led_flag == 2: # 传入参数为 2 红灯常亮 LED_R.value(0) LED_G.value(1) LED_B.value(1) elif led_flag == 3: # 传入参数为 3 绿灯常亮 LED_R.value(1) LED_G.value(0) LED_B.value(1) elif led_flag == 4: # 传入参数为 4 蓝灯常亮 LED_R.value(1) LED_G.value(1) LED_B.value(0) else: # 其他情况 紫灯 LED_R.value(0) LED_G.value(1) LED_B.value(0)#__________________________________________________________________# 按键的使用# 定义按键控制类class Key_Control(): # 定义按键控制类 cnt = 0 # 按键计数值 cs = 0 # 按键模式选择标志位 csmax = 0 # 按键模式上限 csflag = 0 # 按键模式切换标志位 cinput = 0 # 按键输入值保存位 control = 0 # 按键确认及发送控制标志位 img_cnt = 0 # 照片计数值# 实例化按键类key = Key_Control() # 实例化按键控制类 Key_Control() 为 keykey.csmax = 3 # 按键模式上限为 3 即最多有 4 个模式 (0, 1, 2, 3)# 注册按键引脚fm.register(16, fm.fpioa.GPIOHS0, force = True) # 配置 16 脚为 KEY0 使用高速 GPIO 口 强制注册# 创建按键对象KEY0 = GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_UP) # 创建按键对象 KEY0# 中断回调函数 KEY0 控制按键模式选择def Key0_Switch(KEY0): utime.sleep_ms(10) # 延时 10ms 消除按键抖动 if KEY0.value() == 0: # 确认 按键0 按下 key.csflag = 1 # 标记按键模式切换 if key.cs < key.csmax: # 若当前按键模式值小于按键模式选择上限值 key.cs = key.cs + 1 # 控制按键模式选择 自增 else: # 若达到上限 则重新从 0 开始 key.cs = 0 Get_Image(key) # 触发中断的时候拍摄一张照片# 开启中断 下降沿触发KEY0.irq(Key0_Switch, GPIO.IRQ_FALLING) # 开启 按键0 外部中断 下降沿触发#__________________________________________________________________# 获取照片函数def Get_Image(key): # 拍摄一张照片 保存到 SD卡 的 img 目录下 名字为 000 + key.img_cnt.jpg 如 0001.jpg if key.img_cnt < 10: sensor.snapshot().save("/sd/img/000"+str(key.img_cnt)+".jpg") elif key.img_cnt < 100: sensor.snapshot().save("/sd/img/00"+str(key.img_cnt)+".jpg") elif key.img_cnt < 1000: sensor.snapshot().save("/sd/img/0"+str(key.img_cnt)+".jpg") elif key.img_cnt < 10000: sensor.snapshot().save("/sd/img/"+str(key.img_cnt)+".jpg") key.img_cnt = key.img_cnt + 1 # 计数值自增#__________________________________________________________________# LCD# LCD 初始化lcd.init() # lcd初始化# LCD 打印照片张数def LCD_Show(): lcd.draw_string(0, 0, "img_cnt: "+str(key.img_cnt), lcd.BLUE, lcd.WHITE) lcd.draw_string(0, 15, "Gain : "+str(sensor.get_gain_db()), lcd.BLUE, lcd.WHITE) lcd.draw_string(0, 30, "RGBGain: "+str(sensor.get_rgb_gain_db()), lcd.BLUE, lcd.WHITE)#__________________________________________________________________# 照片起始序号设置key.img_cnt = 0#__________________________________________________________________# 主函数模式选择while(True): clock.tick() # 跟踪运行时间 img=sensor.snapshot() # 摄像头拍摄一张图片 lcd.display(img) # LCD 显示图像 LCD_Show() # LCD 显示照片张数 LED_Control(key.cs) # 按键控制 LED 表示按键有成功按下#__________________________________________________________________用K210拍摄到的照片在MaixHub平台上训练模型

因为手头上刚刚好有一个橘子,所以我就用它来做一个识别水果的(但我只做了一个识别橘子),将K210上电,然后对着橘子,按下KEY键即可拍照了。 然后,要用读卡器打开K210上的SD卡,将文件夹img复制到电脑桌面。 然后打开MaixHub平台,链接如下,账号没注册的注册一个就好(上一期有说) MaixHub在线训练平台 需要新建一个项目,名称就叫水果识别,类型选择图像检测(图像分类只能分类图像,并不能获取目标的坐标信息,因此图像检测用的比较多) 然后创建一个数据集,命名为水果。 然后选中该数据集。 然后将img中的图片上传到该训练集。 然后这一步是上一篇教程中所没有的,需要随机选择几张图片放到验证集中,因为如果验证集中没图片,训练的时候会随机抽取几张图片放到验证集。 然后就是添加标签,设置默认标签,然后一张张开始打标签了。 直到打完所有标签,就可以开始训练了。 训练参数设置如下,这里随机处理中的选项都不选(随机镜像、随机旋转、随机模糊),模型选择nncase,参数是训练200次,批数据量大小是4,然后创建任务即可。 然后需要记住训练的ID,不然后面找不到。 因为是在线训练,不妨我们再创建一个任务,这次将图像增强中的随即部分全部勾选上,其他参数不变,再创建一个训练任务,最后与之前的训练任务比较一下。 同样的需要记住训练ID。 等待训练结束,可以看到,平台告诉我们准确率有1,但是在K210上未必每次都能正确识别到,因为我这里数据量太小了,就拍摄了四十几张图片,镜头拉近拉远可能就无法识别了,如果对镜头到目标的距离有要求的,可以根据实际情况靠近或者远一点拍摄图片。 数据增强的那个训练任务也完成了,可以看到,这个训练的准确度比没数据增强的高出不少。 然后就是下载压缩包,进行测试了。

测试

首先要将压缩包内的模型复制到SD卡中,这里我复制了两个,一个是48,一个是50,48是没有数据增强的,50是有数据增强的。 然后打开48的测试代码测试即可。 记得将这两个参数设置为1哦,这是开启镜头转置。

未开启数据增强的测试结果

未开启数据增强的(序号48)的测试结果不难看出,概率偏低,这是因为我拍摄的大部分图片角度都差不多是同一个角度,因此可能我测试的时候角度换了一点,概率就下降了。 拿在手上的测试结果也不太理想,经常无法识别。

开启数据增强的测试结果

可以看出,概率明显上升了不少。 拿在手上,识别的效果也会比没开启数据增强的好上不少。 由此可得出,若需要提高识别的精准度,需要开启数据增强,如果开启数据增强后效果还是不理想,则需要增大数据集。

小结

使用K210拍摄照片,在MaixHub平台进行模型训练的教程已经做完了,并且分析了下数据增强对实际测试效果的影响。由于我并不是专门学这方面的,因此我感觉我这篇教程还写的不是很好,有新的心得的话,后面我会持续更新的。 下一期主要说怎么将识别到的坐标通过串口通信传输到STM32,因为这里用的代码是MaixHub平台提供的,我需要将其中用得到的部分加入我之前的代码中,然后通过串口通信发送出去,主要是为了方便大家使用,我想让大家可以轻松的搞应用,在各种比赛拿奖,总之我的比赛之路是走到尽头了,就是想将这些经验传承下去吧!下期再见咯!

本文链接地址:https://www.jiuchutong.com/zhishi/300757.html 转载请保留说明!

上一篇:YOLO算法创新改进系列项目汇总(入门级教程指南)(yolo算法百度百科)

下一篇:JS——正则表达式(超详细)(js正则用法)

  • 漫步者耳机怎么适配苹果(漫步者耳机怎么查询真伪)

    漫步者耳机怎么适配苹果(漫步者耳机怎么查询真伪)

  • 华为蓝牙耳机有定位功能吗(华为蓝牙耳机有定位吗)

    华为蓝牙耳机有定位功能吗(华为蓝牙耳机有定位吗)

  • 网络协议作用是什么(网络协议作用是指)

    网络协议作用是什么(网络协议作用是指)

  • 刷新率120的手机有哪些(手机刷新率120的手机)

    刷新率120的手机有哪些(手机刷新率120的手机)

  • 3g手机还能上网吗(3g手机还能上网怎么回事)

    3g手机还能上网吗(3g手机还能上网怎么回事)

  • 华为手环4pro充电没反应(华为手环4pro充电器图片)

    华为手环4pro充电没反应(华为手环4pro充电器图片)

  • kmspico可以卸载吗(kmpfaster可以卸载吗)

    kmspico可以卸载吗(kmpfaster可以卸载吗)

  • 微博私信红包多久退回(微博私信红包多久不领会被退回)

    微博私信红包多久退回(微博私信红包多久不领会被退回)

  • qq音乐设置在哪里找(qq音乐随身听怎么关闭)

    qq音乐设置在哪里找(qq音乐随身听怎么关闭)

  • 华为p40pro怎么扫描文件(华为p40pro怎么扫wifi)

    华为p40pro怎么扫描文件(华为p40pro怎么扫wifi)

  • 封群是什么原因造成的(封群对群成员有什么影响)

    封群是什么原因造成的(封群对群成员有什么影响)

  • 微信群聊删除并退出别人会看见吗(微信群聊删除并退出群主会知道吗)

    微信群聊删除并退出别人会看见吗(微信群聊删除并退出群主会知道吗)

  • 5g将建立一个具有什么特点的平台(打造5g)

    5g将建立一个具有什么特点的平台(打造5g)

  • 小米8无限重启解决方法(小米8无限重启mi界面后无法开机)

    小米8无限重启解决方法(小米8无限重启mi界面后无法开机)

  • 段落缩进的方式有哪些(段落缩进的方式主要有等几种)

    段落缩进的方式有哪些(段落缩进的方式主要有等几种)

  • 2.4g和5g要不要合并

    2.4g和5g要不要合并

  • movc是什么指令(mov movc movx 指令有何不同?)

    movc是什么指令(mov movc movx 指令有何不同?)

  • 连手机热点会查到ip吗(连手机热点会查手机吗)

    连手机热点会查到ip吗(连手机热点会查手机吗)

  • 移动卡显示hd扣费吗(移动卡显示hd1是什么意思)

    移动卡显示hd扣费吗(移动卡显示hd1是什么意思)

  • 云米和米家有什么区别(云米和米家是一个品牌吗)

    云米和米家有什么区别(云米和米家是一个品牌吗)

  • 手机爱奇艺看不到字幕怎么办(手机爱奇艺看不到弹幕)

    手机爱奇艺看不到字幕怎么办(手机爱奇艺看不到弹幕)

  • 共享单车app怎么开发(共享单车app怎么用不了)

    共享单车app怎么开发(共享单车app怎么用不了)

  • iPhone XR支持横屏吗(iphonexr可以横屏显示嘛)

    iPhone XR支持横屏吗(iphonexr可以横屏显示嘛)

  • 抖音上的恶魔是怎么p的(抖音恶魔bgm)

    抖音上的恶魔是怎么p的(抖音恶魔bgm)

  • 快手视频保存到相册里(快手视频保存到相册不清晰呢)

    快手视频保存到相册里(快手视频保存到相册不清晰呢)

  • vite 运行项目报错 ‘axios/index.js‘ does not provide anexport named ‘default‘(vi应用项目)

    vite 运行项目报错 ‘axios/index.js‘ does not provide anexport named ‘default‘(vi应用项目)

  • 留底税额有没有时间
  • 奖励旅游的概念解释
  • 预收账款借方和贷方表示什么
  • 出差会议纪要模板
  • 银行回单日期晚于做账日期
  • 凭证日期小于当前会计期啥意思
  • 个人劳务费 税
  • 退伍士兵增值税减免账务处理
  • 会计和税法折旧年限不同如何计算终结期现金净流量
  • 城市维护建设税是什么意思
  • 股东出资方式和比例是否合法?并说明理由
  • 营业执照年审后日期会变吗
  • 汇总记账凭证长什么样
  • 医院收到卫生局补助会计分录怎么写
  • 暂估出库是什么意思
  • 补充医疗保险 个人账户可以报销吗
  • 增值税进项没收到必须开销项怎么办?
  • 应交印花税会计分录
  • 免租期租金能否确认递延所得税吗?
  • 已经缴纳税款怎么作废申报
  • 出口转内销进项转出
  • 印花税滞纳金计入什么科目
  • 工资为负数需要给公司吗
  • 分期付款确认收入借方写啥
  • 单位缴交的社保和医保还要交其他费用吗
  • 固定资产投资方案
  • 发放活动奖金支出怎么入账
  • 公司用自己的设备投资怎么交税呢怎么做账
  • 出口退税进口免税
  • 苹果怎么充电更好
  • dir852迅雷路由器
  • 有关预提费用如何冲销
  • 结转本月主营业务收入800000元,营业外收入2500元
  • 已付货款没有发票能做支出吗
  • 视同销售的会计处理怎么做?
  • 外商投资合伙企业有哪些
  • 合伙企业分红所得税如何少交
  • vue页面路由传参
  • framework在哪看
  • 斯洛文尼亚nba球星是谁
  • 金融资产减值损益怎么算
  • 取得海关专用缴款书的会计分录
  • 房地产企业土地增值税预缴计税依据
  • 提供有形动产租赁服务的增值税税率为
  • vue3配置文件
  • 会计打印发票请求怎么写
  • 财政拨款结转和非财政拨款结转区别
  • 帝国cms简介标签
  • 事业单位的账务处理要分预算会计和财务会计吗
  • 计提以前年度的企业所得税
  • 金税盘技术维护费每年都减免么
  • SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
  • 收到缴纳个人所得税短信
  • 工程施工和工程结算对冲有差额的会计分录
  • 记账凭证如何进行记账
  • 检测费账务处理
  • 上月做了未开票收入,这月开了票怎么报税
  • 金税盘技术维护费
  • 印花税可以去地方申报吗
  • 最新版手机
  • sql server用处
  • win8怎么查看系统版本
  • netdrive mac
  • centos.repo
  • 硬盘 bios
  • win8破解密码开机密码
  • win8磁盘占用率高怎么处理
  • microsoft skypeapp
  • mac苹果电脑如何开4个微信号
  • win8.1 build9600
  • macbookpro中的文本编辑
  • linux环境什么意思
  • windows7的管理在哪里
  • linux系统叫啥
  • AsyncTask onPostExecute()不执行,与JPush冲突
  • 百度坐标转换成WGS84坐标
  • jQuery.ajax 跨域请求webapi设置headers的解决方案
  • 淘宝模拟生成器
  • 江苏城乡医疗保险网上缴费2024年
  • 交完了契税后可以办房产证吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设