简 介: 编写了python程序 pic2bml 可以快速借助于CSDN的图片存储功能,将图片串入AI Studio。对于有少量临时图片传输编程,可以增加程序开发的效率。

关键词pic2bmlbmlcsdn

#mermaid-svg-NRwoGU4Mnm4TG17u {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .error-icon{fill:#552222;}#mermaid-svg-NRwoGU4Mnm4TG17u .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-NRwoGU4Mnm4TG17u .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-NRwoGU4Mnm4TG17u .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-NRwoGU4Mnm4TG17u .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-NRwoGU4Mnm4TG17u .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-NRwoGU4Mnm4TG17u .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-NRwoGU4Mnm4TG17u .marker{fill:#333333;stroke:#333333;}#mermaid-svg-NRwoGU4Mnm4TG17u .marker.cross{stroke:#333333;}#mermaid-svg-NRwoGU4Mnm4TG17u svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-NRwoGU4Mnm4TG17u .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .cluster-label text{fill:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .cluster-label span{color:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .label text,#mermaid-svg-NRwoGU4Mnm4TG17u span{fill:#333;color:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .node rect,#mermaid-svg-NRwoGU4Mnm4TG17u .node circle,#mermaid-svg-NRwoGU4Mnm4TG17u .node ellipse,#mermaid-svg-NRwoGU4Mnm4TG17u .node polygon,#mermaid-svg-NRwoGU4Mnm4TG17u .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-NRwoGU4Mnm4TG17u .node .label{text-align:center;}#mermaid-svg-NRwoGU4Mnm4TG17u .node.clickable{cursor:pointer;}#mermaid-svg-NRwoGU4Mnm4TG17u .arrowheadPath{fill:#333333;}#mermaid-svg-NRwoGU4Mnm4TG17u .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-NRwoGU4Mnm4TG17u .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-NRwoGU4Mnm4TG17u .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-NRwoGU4Mnm4TG17u .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-NRwoGU4Mnm4TG17u .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-NRwoGU4Mnm4TG17u .cluster text{fill:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u .cluster span{color:#333;}#mermaid-svg-NRwoGU4Mnm4TG17u div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-NRwoGU4Mnm4TG17u :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

背景介绍
目 录
Contents
基本方案
使用命令
实现代码
总 结

§01 背景介绍


  AI Studio是百度提供的进行人工智能开发的平台。在提供了百度人工智能网络框架之外,利用AI Studio 可以将软件、数据库、模型训练和部署整合在一起。免去了个人在自己的计算机平台是好搭建平台和维护开发过程琐事。

  在AI Studio界面中,提供了多种途径允许将自己的图片数据文件导入云端的计算机中:

  • 直接利用文件上载的功能;这种上载的数据文件只能在一个工程项目中应用;
  • 利用自行建立数据库的功能;这种方式可以允许在不同的工程之间共享数据库;

  既然有了这些手段,为什么还需要编程将图片自动导入AI Studio呢?

  主要还是为了能够产生自动化调试和测试使用。对于少量实时采集的图片,如果希望能够测试相关的算法,通过编程自动导入可以提高程序开发的效率。

1.1 基本方案

  基本处理过程

  • 将图片上载CSDN获得链接
  • 在AI Studio BML中wget图片
  • 存储在本地,或者直接应用

1.2 使用命令

# Transfer picture into BaiDu Machine Learning Lab.
# Usage: pic2bml * [work/1.jpg]     # transfer clipboard pic to BML
#                picid   []         # transfer DOP id to BML
#                0       []         # transfer DOP picture dop to BML
#                picfile []         # Transfer picfile to BML
#                                   # default directory: temp
#        source: * : Clipboard
#                0 : DOP picture
#                digit: DOP id
#                picfile
#        dest:   default: work/1.jpg
#                picfile: default directory : Work
#                =var   : Set url variable

1.3 实现代码

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# PIC2BML.PY                   -- by Dr. ZhuoQing 2021-12-22
#
# Transfer picture into BaiDu Machine Learning Lab.
# Usage: pic2bml * [work/1.jpg]     # transfer clipboard pic to BML
#                picid   []         # transfer DOP id to BML
#                0       []         # transfer DOP picture dop to BML
#                picfile []         # Transfer picfile to BML
#                                   # default directory: temp
#        source: * : Clipboard
#                0 : DOP picture
#                digit: DOP id
#                picfile
#        dest:   default: work/1.jpg
#                picfile: default directory : Work
#                =var   : Set url variable
#
# Note:
#============================================================from headm import *from PIL import Image
from io import BytesIO
import win32clipboard
import pyautogui#------------------------------------------------------------
csdn_window = '写文章-CSDN博客'
AIStudio_Title = 'BML CodeLab'#------------------------------------------------------------
def send_to_clipboard(clip_type, data):win32clipboard.OpenClipboard()win32clipboard.EmptyClipboard()win32clipboard.SetClipboardData(clip_type, data)win32clipboard.CloseClipboard()#------------------------------------------------------------
def ClipboardCopyImage(imageFile):if not os.path.isfile(imageFile): returnimage = Image.open(imageFile)output = BytesIO()image.convert('RGB').save(output, 'BMP')data = output.getvalue()[14:]output.close()send_to_clipboard(win32clipboard.CF_DIB, data)#------------------------------------------------------------
def GetCSDNImageURL():tspsendwindowkey(csdn_window, ' ',noreturn=1)tspsendwindowkey(csdn_window, 'z', control=1,noreturn=1)tspsendwindowkey(csdn_window, 'v', control=1,noreturn=1)for i in range(40):time.sleep(.5)readdata = tspread()if readdata[2] == 1: breakif readdata[7] != 0: breakif readdata[8] != 0: exit()if readdata[9] != 0: exit()tspsendwindowkey(csdn_window, 'c', control=1, noreturn=1)if clipboard.paste().find('在这里插入图片描述') >= 0:tspbeep(1500, 200)time.sleep(.25)breakprintf('\a')tspsendwindowkey(csdn_window, 'ac', control=1, noreturn=1)time.sleep(.1)pastestr = clipboard.paste().split('![在这里插入图片描述](')if len(pastestr) < 2:printf("Can not find the ![Insert picture] discriptor !\a")return ''tspsendwindowkey(csdn_window, 'z', control=1)pastestr = pastestr[1].split(')')[0]replacestr = '![在这里插入图片描述](%s)'%pastestrpastestr = pastestr.split('?')[0]return pastestr#------------------------------------------------------------
def GetCSDNImageUrl(imageFile):ClipboardCopyImage(imageFile)return GetCSDNImageURL()#------------------------------------------------------------
filename = '*'
outfile = '/home/aistudio/work/1.jpg'#------------------------------------------------------------
if len(sys.argv) > 1:filename = sys.argv[1]if filename.isdigit():picfile = tspgetdopfile(int(filename))extstr = picfile.split('.')[-1].upper()if not extstr in 'JPG BMP'.split():printf("%s is not picture!\a"%picfile)exit()filename = picfileif len(sys.argv) > 2:outfile = sys.argv[2]if outfile.find('.') < 0:if filename.find('.') > 0:fn = filename.split('.')[-1]outfile = outfile + '.' + fnelse: outfile = outfile + '.jpg'if outfile.find('/home/aistudio/work') < 0:outfile = '/home/aistudio/work/' + outfile#------------------------------------------------------------
printf('%s --> %s\a'%(filename, outfile))#------------------------------------------------------------
if filename.find('http') >= 0:urlstr = filename
else: urlstr = GetCSDNImageUrl(filename)#------------------------------------------------------------
aiscmd = "!wget -q --output-document=%s %s"%(outfile, urlstr)
clipboard.copy(aiscmd)rect = tspgetwindowrect(AIStudio_Title)
pyautogui.click((rect[2] - 150), rect[1] + 320)
tspsendwindowkey(AIStudio_Title, "a", control=1, noreturn=1)tspsendwindowkey(AIStudio_Title, "av", control=1, noreturn=1)
tspsendwindowkey(AIStudio_Title, "\r", shift=1,   noreturn=1)
tspfocuswindow('TEASOFT:1')#------------------------------------------------------------
#        END OF FILE : PIC2BML.PY
#============================================================

※ 总  结 ※


  编写了python程序 pic2bml 可以快速借助于CSDN的图片存储功能,将图片串入AI Studio。对于有少量临时图片传输编程,可以增加程序开发的效率。


利用CSDN将图片自动存入AI Studio :pic2bml相关推荐

  1. 如何自动将AI Studio中的GIF文件上载到CSDN?

    ▲ 图1 旋转的数字 简 介: 本文给出了自动将AI Studio工作环境中的GIF目录下的动图图片完成压缩,下载并上载到CSDN的整个过程.给出了实现的详细代码.利用这个工具便可以完成更加丰富多彩的 ...

  2. AI Studio : 利用Paddle框架中的极简框架识别MNIST

    简 介: ※通过测试网络上的这个极简的Paddle识别MNIST程序,也就是使用了一个非常简单的线性回归网络,初步熟悉了Paddle下的网络架构方式.对于如果从numpy到Paddle的tensor转 ...

  3. 利用requests库爬取搜狗图片并存入文件夹下

    看了一篇帖子,https://www.cnblogs.com/dearvee/p/6558571.html 这篇帖子作为一个引导,摸索着完成了第一个爬虫,现在将过程总结如下. 搜狗图片地址为 http ...

  4. 【AI Studio】飞桨图像分类零基础训练营 - 03 - 卷积神经网络基础

    前言:第三天,老师结合ppt文图详细讲解了线性和卷积网络的构建,由简单到复杂的讲解卷积网络的发展.最后结合几个项目加深理解.愈发感觉老师讲的好了.第二天的课听完后还感觉自己什么都懂了,结果轮到自己动手 ...

  5. AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型

    AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型 波士顿房价预测任务 线性回归模型 线性回归模型的神经网络结构 构建波士顿房价预测任务的神经网络模 ...

  6. 利用MATLAB实现图片切换动画效果详解

    内容摘要:本博文介绍MATLAB图片切换动画效果的制作以及GIF文件保存,并结合具体代码详细解释.介绍了利用MATLAB编程进行几幅图片的轮流切换,切换时实现与幻灯片切换相似的炫酷的图片切换特效.其中 ...

  7. 六一大放送: AI Studio精选用户项目推荐榜单

    前菜 AI Studio经过一年多的建设,现已累计了数以万计的优质项目和数据集,首先感谢大家伴随我们成长~ 上次给大家推荐了PaddleCV方向精选项目合集,收到了大家的些许表扬,本次呢再接再厉,给大 ...

  8. 【AI Studio】飞桨图像分类零基础训练营 - 01 - 图像处理基本概念

    前言:这里是图像分类的第一课笔记,如题,第一节可主要讲述了图像处理的操作,也就是数据集处理.根据之前学过的知识理解,训练集往往是有限的,为了扩大训练集,总会人为的制造数据.这时数据处理就体现了.而且实 ...

  9. AI Studio 项目

    文章目录 1.项目概述 1.1用户界面 1.1.1 公开项目 1.1.1.1 公开项目-页面简介 1.1.1.2 公开项目-项目详情页 1.1.2 我的项目 1.1.2.1 我的项目-页面简介 1.1 ...

最新文章

  1. isdigit函数在C语言什么意思,C 库函数 isdigit() 使用方法及示例
  2. 《C语言及程序设计》实践参考——水仙花数
  3. java学习与总结:MySQL和数据库基础知识
  4. quartz(6)--集群
  5. BugkuCTF web2
  6. Linux 下的U盘挂载
  7. java学完jdk后学什么_学完了javase之后要学什么?
  8. Java日志框架之JUL(java util logging)详解
  9. junit依赖_3、Spring 中的依赖注入(DI),你都知道多少?
  10. 重庆大学微型计算机基础实验,计控课程方案设计书.doc
  11. MongoDB 在windows shell环境下的基本操作和命令的使用示例(一)
  12. 产品升级|1-2月合刊:多款产品来袭
  13. 基于C# 和Access数据库的电影院管理系统
  14. 物料编码在PDM与ERP集成中的应用研究
  15. STM32-正弦波可调(50HZ~20KHZ可调、峰峰值0~3.3V可调)
  16. sqlite 多条件查询
  17. 解决VirtualBox虚拟电脑控制台严重错误
  18. oppoa9处理器怎么样_OPPOA9处理器是骁龙几?
  19. 【Linux】修改文件或文件夹权限的命令
  20. 剖析Framework面试-笔记(二)

热门文章

  1. bind9.8 视图和日志功能
  2. Web前端开发代码规范(基础)
  3. 赛门铁克针对勒索软件WannaCry发布全球预警
  4. 2017.04.19 有趣的木楔原理图
  5. Mysql字符串字段判断是否包含某个字符串的3种方法
  6. Java SE 8 在并发工具方面的加强
  7. nginx location 配置详细解释
  8. 北大青鸟口碑好才真的好
  9. Mysqldump参数大全
  10. 研究人员提出增强Wi-Fi传输的新方法