Package com.alibaba.simpleimage.analyze.harris.io

Source Code of com.alibaba.simpleimage.analyze.harris.io.InterestPointInfoReader

/*
* Copyright 2013 Alibaba.com All right reserved. This software is the
* confidential and proprietary information of Alibaba.com ("Confidential
* Information"). You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license agreement you entered
* into with Alibaba.com.
*/
package com.alibaba.simpleimage.analyze.harris.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.alibaba.simpleimage.analyze.harissurf.SURFInterestPoint;

/**
* 类KeyPointFileReader.java的实现描述:TODO 类实现描述
* @author axman 2013-5-15 上午11:04:59
*/
public class InterestPointInfoReader {
    private final static Logger logger = Logger.getLogger(InterestPointInfoReader.class);
    public static InterestPointListInfo readComplete (String filePath) {
       
        ObjectInputStream fis = null;
        try {
            File f  = new File(filePath);
            fis = new  ObjectInputStream(new FileInputStream(f));
            int count = fis.readInt();
            List<SURFInterestPoint> al = new  ArrayList<SURFInterestPoint>();
            for(int i=0;i<count;i++){
                SURFInterestPoint ip = (SURFInterestPoint) fis.readObject();
                al.add(ip);
            }
            int w = fis.readInt();
            int h = fis.readInt();
            InterestPointListInfo ipl = new InterestPointListInfo();
            ipl.setImageFile(f.getName());
            ipl.setList(al);
            ipl.setWidth(w);
            ipl.setHeight(h);
            return ipl;
        } catch (Exception e) {
            logger.error(e.getMessage());
            return null;
        }finally{
            if(fis != null){
                try {
                    fis.close();
                } catch (IOException e) {
                    logger.error(e.getMessage());
                }
            }
        }
       
    }
    public static InterestPointListInfo readComplete (ObjectInputStream fis,String name) {
         try {
            int count = fis.readInt();
            List<SURFInterestPoint> al = new  ArrayList<SURFInterestPoint>();
            for(int i=0;i<count;i++){
                SURFInterestPoint ip = (SURFInterestPoint) fis.readObject();
                al.add(ip);
            }
            int w = fis.readInt();
            int h = fis.readInt();
            InterestPointListInfo ipl = new InterestPointListInfo();
            ipl.setImageFile(name);
            ipl.setList(al);
            ipl.setWidth(w);
            ipl.setHeight(h);
            return ipl;
        } catch (Exception e) {
            logger.error(e.getMessage());
            return null;
        }finally{
            if(fis != null){
                try {
                    fis.close();
                } catch (IOException e) {
                    logger.error(e.getMessage());
                }
            }
        }
       
    }
}
TOP

Related Classes of com.alibaba.simpleimage.analyze.harris.io.InterestPointInfoReader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.