批量修改图片代码
- 格式:doc
- 大小:28.00 KB
- 文档页数:3
宏命令将图片批量替换成统一大小步骤:1.点击【文件】-【选项】,在弹出的窗口中选择【自定义功能区】,勾选开发工具选项后,点击【确定】,如下图:2.会在菜单上方出现开发工具的相关功能菜单,选择【开发工具】,点击【宏】,如下图:3.点击【宏】后,弹出提示框,在宏名处输入宏名“setpicsize”点击创建按钮,如下图:4.在弹出的VBA窗口中将如下代码复制到其中,如下图:统一替换图片大小的VBA代码如下(单引号后面的内容为备注):'1.改变图片大于14.5cm的宽度'注:高跟宽的数值单位为px,而word中的单位为cm(1px约等于0.0352cm)Sub setpicsize()Dim j '计数图片个数For j = 1 To ActiveDocument.InlineShapes.Count '文件中图片总个数,图片类型为inlineshapespicheight = ActiveDocument.InlineShapes(j).Height '高度赋值picwidth = ActiveDocument.InlineShapes(j).Width '宽度赋值If (ActiveDocument.InlineShapes(j).Width > 375 And ActiveDocument.InlineShapes(j).Width < 415) Then '判断图片宽度范围,将宽度大于13.23cm的图片,小于14.68的图片统一缩放ActiveDocument.InlineShapes(j).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '图片居中ActiveDocument.InlineShapes(j).Width = 411 '设置宽度为411px,约14.5cm ActiveDocument.InlineShapes(j).Height = picheight * (411 / picwidth) '设置图片高度,根据设置的宽度值等比例缩放图片高度ElseIf (ActiveDocument.InlineShapes(j).Width > 417) Then '判断图片宽度范围,将宽度大于14.7cm的图片统一缩放ActiveDocument.InlineShapes(j).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '图片居中ActiveDocument.InlineShapes(j).Width = 411 '设置宽度为411px,约14.5cm ActiveDocument.InlineShapes(j).Height = picheight * (411 / picwidth) '设置图片高度,根据设置的宽度值等比例缩放图片高度End IfNext jEnd Sub注意:(1)修改图片尺寸时,代码运行前需要根据实际情况进行修改图片尺寸的大小范围限制代码,图中标注处所示(2)修改图片尺寸时,需计算修改的图片的宽高值,因为图片的高跟宽的数值单位为px,而word中的单位为cm,根据每台电脑不同的分辨率,1px约等于0.0352cm (3)图片替换之前文档最好先保存副本,因为运行宏后的文档无法撤销操作,如果操作错误,只能通过关闭文档时,选择不保存后,重新打开(4)代码可用英文状态下的单上引号进行备注,删掉不影响代码的运行(5)如修改图片尺寸的代码无需修改,可直接在点击【宏】后,在弹出提示框中选择宏名“setpicsize”,点击运行按钮进行操作(6)一次性修改的文档中图片过多时,文档会未响应一小段时间,请耐心等待即可5.点击运行按钮,运行统一替换图片尺寸代码。
image j批量处理图片的三种方法(从傻瓜式到看不懂)方法一:使用批处理功能1、打开宏命令录制窗口:Plugins-Macros-Record2、打开一张图片进行你要进行的操作3、复制Recorder窗口里录制的宏命令4、打开批处理Process-Batch-Macro...点击这里正式批处理。
批处理默认状态下不会在桌面上加载图片,这样运行速度会更快。
➢在Image j工具栏下面可以看到批处理的进度条,这样可以判断批处理是否已经完成。
➢如果想要提前终止批处理,可以按esc键退出。
个人要按两三次才能够退出,不知道批处理的局限性:1、在处理过程中有部分插件的操作宏录制功能无法录制。
如IHC Toolbox插件里面Select Model里面进行H-DAB模式选择这一操作就无法识别,使用批处理会暂停在这一阶段。
2、在图片处理过程中,有时候会从一张图片中分离出多张图片,这时候难免要进行窗口的选择。
而宏命令录制功能录制下的宏命令会包含你选中的窗口文件名。
直接复制粘贴,批处理会反复查找你录制的那张图片而报错。
批处理的优化:1、解决窗口选择问题。
在批处理窗口大输入框,第一行输入如下宏命令,该命令意思是获取你进行操作的图片文件名,并用title这个代号表示。
注意不要忘记后面的分号,英文状态下输入。
title=getTitle();在需要选取窗口的阶段输入,通过该命令除了可以改变接下来处理的图片窗口,也可以改变保存哪一个窗口的图片。
一般插件处理图片都是在原有文件名的基础上加入后缀,比如使用Colour Deconvolution里的H-DAB颜色分离功能就会把图片分为带-(Colour_1)、-(Colour_2)、-(Colour_3)三种类型后缀的图片窗口。
假如我们需要选择含有-(Colour_2),就可以输入以下代码。
selectWindow(title+"-(Colour_2)");2、添加快捷键让操作更快Plugins-Shortcuts-Add Shortcut...Shortcut里面选择你要设置的快捷键。
[手把手]word批量导入、修改图片大小和压缩图片分步阅读工作中,我们不时会需要将大量图片插入word,并对其设置统一的尺寸大小。
下面请跟随我,学习批量导入、修改图片尺寸和压缩图片的方法,让你告别重复工作。
Microsoft Word 2007一、批量导入图片1. 1将所有需要导入的图片放入同一文件夹,修改文件名,使其排列顺序符合我们要求。
2. 2打开word,依次点击:插入→图片3. 3在弹出的窗口,“查找范围”框里找到需要插入图片所在文件夹,方法一:选中第1张图片,按住键盘Shift键,再选中最后一张图片。
方法二:选中任意一张照片,同时按键盘“Ctrl”键和字母“A”键,全选点击“插入”4. 4 效果如图END批量修改图片尺寸1. 1接上面的例子。
方法一:在word软件界面中依次点击:开发工具→宏方法二:同时按键盘“Alt”键和“F8”键(后面简称Alt+F8)弹出宏创建窗口2. 2在宏名栏里任意输入一个宏的名字,本例中我们使用“setpicsize”点击创建3. 3弹出“Microsoft Visual Basic”窗口,复制下面的代码到代码窗口里替换掉原有内容:Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes 类型图片ActiveDocument.InlineShapes(n).Height = 5 * 28.35 '设置图片高度为5cm (1cm等于28.35px)ActiveDocument.InlineShapes(n).Width = 4 * 28.35 '设置图片宽度4cmNext nEnd Sub'其中图片本例中图片尺寸为5cm和4cm4. 4点击“Microsoft Visual Basic”窗口工具栏里的“运行”按钮(类似播放器里的播放按钮)或者按键盘“F5”键等待一会儿……(等待时间取决于你插入图片的多少和你电脑的运算速度)……5. 5待标题栏上方的[正在运行]消失后,点击右上角小叉关闭“Microsoft Visual Basic”窗口。
批量改变⽂件夹和⼦⽂件夹中图⽚格式的两种⽅法⽣活中,我们通常会遇到这种问题:⼀个⽂件夹内部有多个⼦⽂件夹,每个⽂件夹内部有很多图⽚,我们想改变这些图⽚的格式。
例如.png格式图⽚⽀持背景透明,但我们想把它变成背景不透明的.jpg图⽚。
⼜⽐如.bmp格式是⾮压缩图⽚,我们想把它转换为⽆损压缩的.png图⽚以节省存储空间。
如果图⽚数量很少,很明显我们可以通过Windows⾃带的画图⼯具或者其他看图软件通过“另存为”⼀张张地转换图⽚格式。
但是如果图⽚很多,怎么办?这个问题其实有两个关键点:①要求批量处理。
②⽂件夹中还有⼦⽂件夹。
由于我同时熟悉Halcon和Photoshop,因此我提供两种⽅式,供不同的读者参考。
⼀、⽤Halcon批量修改图⽚格式。
原⽂件夹和图⽚如下所⽰:代码如下:1 list_files ('D:/pic', ['files','recursive'], ImageFiles)2 *'ignore_case':忽略⼤⼩写3 tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)4for Index :=0 to |ImageFiles| - 1 by 15 read_image (Image, ImageFiles[Index])6 *tuple_strlen是得到tuple中某个元素的长度,⽽不是tuple有⼏个元素7 tuple_strlen (ImageFiles[Index], Length)89 *之所以 - 5是因为要去掉“.bmp”10 tuple_substr (ImageFiles[Index], 0, Length -5, Substring)11 write_image (Image, 'png', 0, Substring)1213 endfor说明:算⼦list_files的参数'recursive'的意思是“递归”,即递归查找⼦⽂件夹中的⽂件;ImageFiles[Index]是每张图⽚的实际路径。
在VBA中处理图像和图片文件的操作方法VBA(Visual Basic for Applications)是一种用于自动化和自定义Microsoft Office应用程序的编程语言。
在VBA中,我们可以使用各种方法来处理图像和图片文件,包括插入、删除、修改、保存等操作。
本文将介绍几种在VBA中处理图像和图片文件的常用方法。
1. 插入图像和图片文件在VBA中,我们可以使用`Shapes.AddPicture`方法来插入图像和图片文件。
该方法有几个参数,包括文件路径、链接、保存到工作表还是图表等。
以下是一个示例代码:```vbaSub InsertPicture()Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim pic As ObjectSet pic = ws.Shapes.AddPicture("C:\path\to\image.jpg", False, True, 100, 100, -1, -1)' 参数说明:文件路径,链接,保存到工作表,左距,上距,宽度,高度' 调整图像大小pic.LockAspectRatio = msoFalsepic.Width = 200pic.Height = 200' 可以通过pic对象的其他属性进行更多操作,比如旋转、裁剪等End Sub```上面的代码会在名为"Sheet1"的工作表中插入一张图片。
2. 删除图像和图片文件要删除VBA中的图像或图片文件,我们可以使用`Shapes.Delete`方法。
以下是一个示例代码:```vbaSub DeletePicture()Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim pic As ShapeFor Each pic In ws.ShapesIf pic.Type = msoPicture Thenpic.DeleteEnd IfNext picEnd Sub```上面的代码会删除名为"Sheet1"的工作表中的所有图片。
wps怎么批量更改图片大小首先为WPS个人版安装VBA,然后按下面的步骤操作:所有图片修改成固定的并且相同的长和宽!1、打开WPS,直接按Alt+F8进入宏的界面,输入一个宏名,宏名自己起,能记住就行!2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存Sub setpicsize() '设置图片大小 Dim n '图片个数 O n Error Resume Next '忽略错误 For n = 1 To Active Document.InlineShapes.Count 'InlineShapes类型图片 ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px Next n For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片 Ac tiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px Next n End Sub 3、返回WPS,直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!wps 批量修改照片大小,要说的细点word批量修改图片大小——固定长宽篇这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽!1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300pxNext nFor n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片ActiveDocument.Shapes(n).Height = 400 '设置图片高度为400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度300pxNext nEnd Sub3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间)word批量修改图片大小——按比例缩放篇这部分要说的是把word中的所有图片按比例缩放!具体操作同上,只是代码部分稍做修改,代码如下:Sub setpicsize() '设置图片大小Dim n '图片个数Dim picwidthDim picheightOn Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片picheight = ActiveDocument.InlineShapes(n).Heightpicwidth = ActiveDocument.InlineShapes(n).WidthActiveDocument.InlineShapes(n).Height = picheight * 1.1 '设置高度为1.1倍ActiveDocument.InlineShapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍Next nFor n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片picheight = ActiveDocument.Shapes(n).Heightpicwidth = ActiveDocument.Shapes(n).WidthActiveDocument.Shapes(n).Height = picheight * 1.1 '设置高度为1.1倍ActiveDocument.Shapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍Next nEnd Sub虽然小一的代码不是好代码,但确实能解决小一的问题,瞬间就把word文档里所有图片放大了1.1倍,各种公式、坐标轴都比原来清楚多了,自动批量处理Word中图片,主要完成的工作是:重置所有图片,对所有图片做裁剪。
用Python编写简单的图像处理和图形生成工具Python是一种强大的编程语言,同时也具有广泛的图像处理和图形生成工具,可以帮助我们进行各种图片编辑和图形生成的任务。
接下来,我将介绍几个常用的Python图像处理和图形生成工具,并且提供一些使用示例。
1. PIL(Python Imaging Library): PIL是Python中最常用的图像处理库之一,可以用来打开、编辑和保存各种图像格式的图片。
它提供了丰富的图像处理函数,如缩放、旋转、剪切、滤镜等,可以满足大部分的图像处理需求。
下面是一个使用PIL库进行图像缩放的示例:```pythonfrom PIL import Image#打开图片img = Image.open('input.jpg')#缩放图片new_img = img.resize((500, 500))#保存缩放后的图片new_img.save('output.jpg')```2. OpenCV:OpenCV是一种开源的计算机视觉库,可以用于处理图像和视频。
它支持各种图像处理和计算机视觉任务,如颜色转换、边缘检测、人脸识别等。
OpenCV具有强大的图像处理功能,而且还可以与其他机器学习库结合使用。
下面是一个使用OpenCV库进行图像边缘检测的示例:```pythonimport cv2#读取图片img = cv2.imread('input.jpg')#转换为灰度图gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#边缘检测edges = cv2.Canny(gray, 100, 200)#显示结果cv2.imshow('Edges', edges)cv2.waitKey(0)```3. Matplotlib:Matplotlib是一个绘图库,用于生成各种类型的图形,如折线图、散点图、柱状图等。
Word技巧
如何用宏程序批量处理图片大小
1、统一图片大小+解除图片纵横比限制
Sub 图片统一大小() '设置图片大小
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).LockAspectRatio = msoFalse '解除纵横比锁定
ActiveDocument.InlineShapes(n).Height = 5 * 28.35 '设置图片高度为5cm(1cm 等于28.35px)
ActiveDocument.InlineShapes(n).Width = 5 * 28.35 ' 设置图片宽度5cm
Next n
End Sub
注:使用前要考虑各种特殊情况,如剪报中的logo也是会受到影响。
2、统一图片大小(不解除纵横比,可以仅限定宽或高)
Sub 统一图片大小()
Dim iShape As InlineShape
For Each iShape In ActiveDocument.InlineShapes
iShape.LockAspectRatio = msoTrue
iShape.Height = CentimetersToPoints(5)
iShape.Width = CentimetersToPoints(5)
Next
End Sub
以上代码直接ALT+F11 添加到宏程序中运行即可,标红部分可以自行修改。
word中批量修改图片大小的两个方法对于把ppt的内容拷贝到word中:对ppt的一页进行复制,然后粘贴到word中如果要的是ppt运行过程中的内容,在qq运行的情况下,按Ctrl+Alt+A 截屏,按勾,然后可以直接粘贴到word中(生成的图片已经在剪贴板中了)1.图片只需要符合文档大小即可方法:插入图片,word自动处理图片大小。
看一下下方的文件名按Ctrl+A(全选),图片的顺序按照电脑文件的顺序排列的每一次按Ctrl+点击图片,被点击的图片放在首位效果:2.图片需要修改为具体的大小把图片复制,直接在word中粘贴,图片以原始大小显示按视图按宏,查看宏,输入setpicsize,按创建复制并粘贴以下程序并按调试+编译,看看程序有没有错误Sub setpicsize()Dim iDim Height, WeightHeight = 300Weight = 200On Error Resume Next 忽略错误For i = 1 To ActiveDocument.InlineShapes.Count InlineShapes类型图片ActiveDocument.InlineShapes(i).Height = Height 设置图片高度为Height_pxActiveDocument.InlineShapes(i).Width = Weight 设置图片宽度Weight_pxNext iFor i = 1 To ActiveDocument.Shapes.Count Shapes类型图片ActiveDocument.Shapes(i).Height = Height 设置图片高度为Height_pxActiveDocument.Shapes(i).Width = Weight 设置图片宽度Weight_px Next iEnd Sub如果没有错误,保存(Ctrl+S)并退出(Alt+F4)然后按宏,查看宏,选择名字为setpicsize的宏,并按运行,稍等片刻即可完成或者直接在代码页面按运行+运行子过程(F5)效果:程序二修改第x张图片到第y张图片的大小(可以分成很多段)Sub ModifyPhoto1()Dim i, x, yDim Height, WeightHeight = 80Weight = 100修改第x张图片到第y张图片的大小x = 4y = 13On Error Resume Next 忽略错误For i = 1 To ActiveDocument.InlineShapes.Count InlineShapes类型图片If i >= x And i ActiveDocument.InlineShapes(i).Height = Height 设置图片高度为Height_pxActiveDocument.InlineShapes(i).Width = Weight 设置图片宽度Weight_pxEnd IfNext iFor i = 1 To ActiveDocument.Shapes.Count Shapes类型图片If i > k ThenActiveDocument.Shapes(i).Height = Height 设置图片高度为Height_pxActiveDocument.Shapes(i).Width = Weight 设置图片宽度Weight_pxEnd IfNext iEnd Sub效果:。
一、前期准备:在图片所在文件夹里添加一个文件夹,命名为“处理照片文件夹”,用来存放我们处理后的图片文件,这样就不会改变原始文件。
二、在PhotoShop里进行批量处理设置:1.在PhotoShop里打开要处理的图片文件,然后点击窗口”菜单,打开动作”面板。
提示:如果原始图片的构图、色彩不够理想,可先对原始图片进行裁剪、色彩校正后再进行动作设置。
2.点击“动作”面板右边的三角形按钮,在弹出菜单中选择“新动作”命令。
3.在“新动作”面板里为你的动作设置名称和快捷键。
本例中动作名称为“博客图片(横向)”快捷键为“F2‘然后点击记录”按钮,动作”面板下边的开始记录”圆形按钮将变成红色按下状态,PS将记录下你的每个动作设置。
调整图片大小,鼠标(淘宝鼠标热卖)右键点击图片图片标题栏,选择“图像大小”命令,弹出“图像大小”设置面板,本例中我们将图片宽度设为700像素,图片高度电脑会按比例自动缩小。
5.通过增加画布宽度为画面添加边框。
将“工具”面板中的背景色设为白色,鼠标(淘宝鼠标热卖)右键点击图片图片标题栏,选择“画布大小”命令,弹出画布大小”设置面板,本例中我们将图片宽度和高度各增加1厘米。
点击“好”按钮后图片四周将增加一个宽度为1厘米的白边。
6.利用“文字工具”为图片添加个性签名。
7 .保存图片:打开“文件”菜单,点击“储存为”,在“储存为”面板中将图片格式设为jpg格式,图片保存路径为你的处理照片文件夹”8.停止记录:点击“动作”面板下面的方形“停止播放/记录”按钮,结束动作记录。
三、运行批处理。
打开你的其他照片,只需点击一下“F2”剩下的工作就由电脑帮你完成了四、友情提示:1.竖向照片可另添加动作,并设置一个与横向照片不一样的快捷键;2.关于画面边框的设置,你可以用其他设置边框的办法设定个性化边框;3.个性签名的位置设置以不影响画面美观为宜。
在编程中,批量修改类和方法的方式取决于你使用的编程语言和你的具体需求。
下面我列举一些常见的编程语言和相应的批量修改方法:
1. Python:
Python中可以使用`标准库`中的`ast`模块来批量修改代码。
这个模块可以解析Python代码,并允许你修改它。
一个例子是使用`ast.NodeTransformer`类来遍历和修改代码。
2. JavaScript:
JavaScript中可以使用`UglifyJS`或`Terser`等工具来批量修改代码。
这些工具可以压缩、混淆和修改JavaScript代码。
3. Java:
Java中可以使用`BeanShell`或`JaCoCo`等工具来批量修改代码。
这些工具可以对Java代码进行重命名、修改字段和方法等操作。
4. C#:
C#中可以使用`RefactorMate`或`Roslyn`等工具来批量修改代码。
这些工具可以对C#代码进行重命名、修改字段和方法等操作。
以上只是一些例子,具体的实现方式需要根据你使用的编程语言和你的需求来决定。
同时,批量修改代码可能会导致一些不可预见的问题,所以在进行这样的操作时需要谨慎。
1、打开被修改文档。
2、点击工具——宏——宏
3、随便起个名字,然后点创建,注意,名字不能是数字
4、打开附件中的宏内容.txt 文件,复制其中的内容
粘贴在宏编辑器里,注意,上面的Sub abc()是你起的名字,可能不同
5、粘贴后的内容应该是这样的
6、粘贴好后,点击保存图标,保存编辑的内容
7、切换回被编辑WORD文档,打开宏命令栏,点击运行
8、如果尺寸不合适,切换回宏编辑器,修改
ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px
的数值,当心不要把“设置图片….”文字前面的单引号删除掉
设置好后,点击保存图标,然后切换回WORD文档打开宏命令栏运行看效果。
将webp格式的图像批量转化成jpg-Python有读公众号的习惯,有时候看到喜欢的图⽚难免想保存下来,然后再⽤word⽂档或者其他啥的编辑⼀下,但是word⽂档并不⽀持webp,添加到word⽂档后是不会显⽰的。
所以想着转换成jpg格式的。
⾸先是单个⽂件的转换:import osfrom PIL import Imagepath = r"C:\Users\xxx\1.webp" # 打开单张图⽚im=Image.open(path) # 打开路径im.load() # 加载图⽚im.save(r"C:\Users\xxx\1.jpg") # 存储为jpg格式# os.remove(path)当然,有时候不⽌⼀个⽂件,所以还得有个批量处理的:class processImage():"""⼀个将批量将webp⽂件转换成jpg的程序"""def __init__(self):self.path = r'C:\Users\xxx\1' # 就⼀个参数,就是⽂件夹的位置# 读取⽂件夹下的⽂件def loadFile(self):fileList = os.listdir(self.path) # 读取⽂件夹下的所有⽂件(包含⽂件夹)return fileList # 返回列表# 查找⽂件夹下所有webp的图像def webp2jpg(self, fileList:list):for item in fileList: # 循环读取列表,得到的item是⽂件名if item.endswith('.webp'): # 如果⽂件名以.webp结尾src = os.path.join(os.path.abspath(self.path), item) # 获取⽂件的绝对路径print("src=", src) # 打印看是否符合预期im = Image.open(src) # 绝对路径打开.webp格式的⽂件im.load() # 加载save_name = src.replace('webp','jpg') # 保存的⽂件名im.save('{}'.format(save_name), 'JPEG') # 保存# os.remove(src) # 删除源⽂件if __name__ == "__main__":nc = processImage()fileList = nc.loadFile()nc.webp2jpg(fileList)最后⼀种情况就是,⽂件夹下有⽂件夹,⼦⽂件夹下也有webp格式的⽂件,要将他们也处理成jpg格式的,当然,可以⼿动移动到⼀个⽬录,然后⽤上⾯的批量代码处理。
利⽤python和ffmpeg批量将其他图⽚转换为.yuv格式的⽅法由于跑编码的需要,所以需要制作⼀个.yuv格式的图⽚数据集,但是⼿头只有.jpg格式的,故记录下转换过程。
其他图⽚格式也可以,代码⾥修改⼀下就⾏。
①安装ffmpeg官⽹(各种版本):②安装ffmpeg的python3接⼝ffmpy3在命令⾏中输⼊以下命令:pip install ffmpy3③将下载好的windows版解压,把ffmpeg.exe复制到你将要跑python代码的⽂件夹⾥④python代码如下:# -*- coding: utf-8 -*-import osfrom PIL import Imagefrom ffmpy3 import FFmpegin_jpgDatasetPath = 'I:/VOC/trainval'out_yuvDatasetPath = 'I:/VVC/loop/yuvdataset'piclist = os.listdir(in_jpgDatasetPath)for pic in piclist:picname = pic.split('.')[0]picpath = os.path.join(in_jpgDatasetPath,pic)img = Image.open(picpath)in_wid,in_hei = img.sizeout_wid = in_wid//16*16out_hei = in_hei//16*16size = '{}x{}'.format(out_wid,out_hei) #输出⽂件会缩放成这个⼤⼩outname = out_yuvDatasetPath + '/' + picname + '_'+size+ '.yuv'ff = FFmpeg(inputs={picpath:None},outputs={outname:'-s {} -pix_fmt yuv420p'.format(size)})print(ff.cmd)ff.run()以上这篇利⽤python和ffmpeg 批量将其他图⽚转换为.yuv格式的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
python批量修改⽂件夹内所有图⽚的名字声明: 本⽂代码⾮原创, 原⽂链接没找到,记录⼀下,以防不时之需.实现图⽚处理的时候可能需要将图⽚名字批量处理⼀下变成按顺序如001.jpg... ...100.jpg的形式,但是我直接在⽹络上爬取的图⽚的命名好像是按照爬取的⽇期保存的,当然你也可以在爬取⽂件中修改,但我们不考虑这种我们就考虑当前⽂件夹下的⽂件或者⽂件夹是乱序的,如下:我们的⽬标是修改成酱紫的:code:import sys, string, os, shutildef RenameFiles(prefix,srcdir,postfix):# os.listdir(path)历遍所有⽂件路劲,返回为列表 srcfiles = os.listdir(srcdir)index = 1 for srcfile in srcfiles:# os.path.splitext将⽂件名和后缀名字分开,返回元组 # srcfilename表⽰只获取元组⾸个元素,即⽂件名 srcfilename = os.path.splitext(srcfile)[0]# sufix表⽰获取元组第⼆个元素,即获取后缀名 sufix = os.path.splitext(srcfile)[1]#根据⽬录下具体的⽂件数修改%号后的值,"%04d"最多⽀持9999 destfile = srcdir + "//"+ prefix + "%04d"%(index) + postfixsrcfile = os.path.join(srcdir, srcfile)# os.rename() ⽅法⽤于命名⽂件或⽬录,从 src 到 dst,如果dst是⼀个存在的⽬录, 将抛出OSError os.rename(srcfile, destfile)index += 1 print (destfile)srcdir = "./test_name"prefix = "前缀"postfix = "后缀"RenameFiles(prefix,srcdir,postfix)output:./test_name//前缀0001后缀./test_name//前缀0002后缀./test_name//前缀0003后缀./test_name//前缀0004后缀修改图⽚的名字:我的图⽚读取的时候是格式是"date_v000_1.jpg",我要修改成"set00_v000_1.jpg"也就是只修改部分,赶紧写下了记住这个以后再修改个图⽚数据集名字什么的都不怕了code:import os# 图⽚输⼊路径path = '/media/li_hiayu/D/Caltech/JPEG'# 图⽚输出路径,⽤来存储修改名字后图⽚的位置,当然你也可以覆盖在path中outpath = '/media/li_hiayu/D/Caltech/JPEGImages'if not os.path.exists(outpath): os.makedirs(outpath)# os.listdir(path)历遍path路径并获取⽂件名存储到列表中并返回for img in os.listdir(path):# 这⼀句hin重要,是个隐藏⽂件... .. . if img != '.DS_Store':# os.path.splitext将⽂件名拆分为名字和后缀名,可以打印出来看⼀下 name = os.path.splitext(img)# 获取拆分后的第⼀个元素(⽂件名)也就是“data_v000_1” img_segment = name[0]# 再拆分⼀次 name_segment = img_segment.split("_")first_segment = name_segment[0] #data second_segment = name_segment[1]#v000 three_segment = name_segment[2]# 1 # 获取拆分后的第⼆个元素(后缀名) four_segment = name[1] # ".jpg" # 补全修改后的路径以及⽂件名 changed_name = outpath+"//"+str+"_"+second_segment+"_"+three_segment+four_segment# os.rename(old_one,new_one) os.rename(org_name,changed_name)提醒:修改之后,原来⽂件夹中的图⽚就完全转移到outpath中,也就是JPEG就清空了。
word中批量修改图片大小
方法一:
这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽!
1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!
2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存
代码如下:
Sub setpicsize() '设置图片大小
Dim n ' 图片个数
On Error Resume Next ' 忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes 类型图片ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px
Next n
For n = 1 To ActiveDocument.Shapes.Count 'Shapes 类型图片
ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px
Next n
End Sub
3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间)
方法二:
1、在word中按alt+f11组合键,进入VBA模式
2、在左边的工程资源管理器中找到你的word文档,在其上右键/添加/模块
3、把下面代码复制,粘贴进去.
4、更改数值, 改一下宽度和高度数值(10),点运行(类似播放按钮.)或f5,即可设置文档中全部图片
代码如下:
Sub Macro()
Mywidth=10 ‘10为图片宽度(厘米)
Myheigth=10 ‘10为图片高度(厘米)
For Each iShape In ActiveDocument.InlineShapes
iShape.Height = 28.345 * Myheigth
iShape.Width = 28.345 * Mywidth
Next iShape
End Sub
word批量修改图片大小——按比例缩放篇
这部分要说的是把word中的所有图片按比例缩放!
具体操作同上,只是代码部分稍做修改,代码如下:
代码如下:
Sub setpicsize() '设置图片大小
Dim n '图片个数
Dim picwidth
Dim picheight
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes 类型图片picheight = ActiveDocument.InlineShapes(n).Height
picwidth = ActiveDocument.InlineShapes(n).Width
ActiveDocument.InlineShapes(n).Height = picheight * 1.1 '设置高度为1.1倍ActiveDocument.InlineShapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍Next n
For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
picheight = ActiveDocument.Shapes(n).Height
picwidth = ActiveDocument.Shapes(n).Width
ActiveDocument.Shapes(n).Height = picheight * 1.1 '设置高度为1.1倍ActiveDocument.Shapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍
Next n。