美文网首页认真搞科研
用Photoshop和matlab对图片进行批量裁剪处理

用Photoshop和matlab对图片进行批量裁剪处理

作者: 亚内士多德 | 来源:发表于2019-11-22 13:08 被阅读0次
    未标题-1.jpg

    Photoshop

    1. 将要裁减的图片一股脑全拉到PS里
    2. 菜单栏里找到:窗口-动作。调出动作窗口,或者可以用快捷键ALT+F9呼出。
    3. 点击红色方框里的图标,建立一组新的动作


      1.png
    4. 可以简单写一个自己能认得出来的名字


      2.png
    1. 点击记录之后,PS就会记录你之后所执行的一系列操作:随便挑选一张打开了的图片,将画布按照想要的方式,裁剪成指定大小,然后另存在另外一个文件夹里,关闭当前窗口。

    2. 对一张图片执行完上述一系列操作之后,点击动作窗口的停止记录按钮.

    3.png

    7.回到菜单栏:文件 - 自动 - 批处理。可以看到在动作那里存储了刚刚我们记录的动作,然后在下方选择要处理的图片来源,这里选择了打开的文件。点击确定之后就可以看到PS根据刚刚记录下的我们的操作,对打开了的图片进行了同样的操作。


    4.png

    8.当要处理的图片太多的时候,可以不用在一开始就把所有图片在PS里打开,可以选择,开始记录之后,再打开图片。这样子PS会把我们打开图片这一个动作也记录下来。然后在执行批处理的时候,将源文件定义为某个文件夹里的图片就可以了。

    1. PS的这个批处理除了用来裁剪图片之外,还可以做很多其他的处理。

    matlab

    用PS进行批量裁剪图片是我很早之前就掌握了的技能,正好最近在学习matlab,所以就觉得,matlab应该也能做类似的事情,查了一下,发现也挺简单的。

    clear;clc;
    load_path = 'C:\Users\user\Desktop\picture\';
    save_path = 'C:\Users\user\Desktop\picture\sample\';
    for j = 1:9; ;
        image = imread(strcat(load_path,num2str(j),'.jpg'));
        crop_image = imcrop(image, [60,10, 180, 240]); % [xStart, yStart,weight,  height]
        imwrite(crop_image, strcat(save_path,num2str(j),'.jpg')); 
    end
    

    其实主体就是imread, imcrop 和imwrite 三个函数了。

    • imread,将要裁剪的图片读取进来

    • imcrop对图片进行操作。[60,10, 180, 240]这四个参数,前两个是指,要从这张图片的x轴60,y轴10的位置开始裁,后面两个是指图片的宽和高,这四个参数就能定义我们说如何裁剪图片。

    • imwrite,把裁剪好的图片存起来。

    相关文章

      网友评论

        本文标题:用Photoshop和matlab对图片进行批量裁剪处理

        本文链接:https://www.haomeiwen.com/subject/ghnfwctx.html