生活编程(二) 图像裁剪批处理

     今天下载彩色版的书后发现全部都是图片,而且两页都在同一面,浏览的时候太麻烦了,虽然有黑白的pdf(歪歪斜斜),最后用编程解决问题。尊重版权,请买正版书(这本书太老了)。

                   

    (好久没写博客,发现csdn改进了图片插入的功能。大小显示及位置调整。)

    发现个规律,图片中间刚好是书的中间,那么只要把图片切成两半即可。用Matlab即可实现。

function x = diy()
filelist = dir('*.jpg');  
filenumber = length(filelist);  
j = 1;
for i = 1:filenumber
    imagename = filelist(i).name;  
    temp = imread(imagename);  
    %name = strrep(imagename,'.jpg','');
    temp = imresize(temp,[1200,1550]);  
    [ihight,ilength] = size(temp);
    %对RGB三层进行处理
    for k = 1:3
        first = temp(:,:,k);
        imagea = first(1:ihight,1:round(ilength/6));
        imageb = first(1:ihight,round(ilength/6):ilength/3);
        left(:,:,k)  = imagea;  
        right(:,:,k) = imageb;  
    end
    imwrite(left,[num2str(j) '.jpg']);
    %j递增  用于命名
   j = j + 1;

   %数字转字符  不是 char() 是num2str() 字符串拼接为[a b]   
   num2str imwrite(right,[num2str(j),'.jpg']);
    j = j + 1;
    
end

剪切后的文件名命名为 从1开始递增。但是与之前这些的文件混在一起,用个正则表达式简单过删掉原始文件即可。           

                      

import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author iaiti
 * use regex to delete some files 
 */
public class FilterFile {

    public static void main(String[] args) {
        String path = "F:/kai";
        File myfile = new File(path);
        for(File filein : myfile.listFiles()){
            Pattern pattern = Pattern.compile("[0-9]*.jpg");
            Matcher matcher = pattern.matcher(filein.getName());
            System.out.println(filein.getName()+" file match number name is "+matcher.matches());
            if(matcher.matches() == false){
                filein.delete();
            } 
        }
    }
}

成功对半劈开。

                 


方便阅读。有书还是买书吧。


      不尝试解决问题的程序员不是好的开发者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iaiti

赏顿早餐钱~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值