您的位置:首页 > 编程语言 > Java开发

利用Opencv实现简单的图片切割(JAVA)

2016-11-18 14:44 423 查看
最近工作中遇到了切割图片的问题,查了一些资料,锁定在用Opencv实现,可是opencv的很多代码都是c++的,翻了手册,初步实现了图片切割功能。

不多说了,垒代码

import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import org.opencv.core.Core;
import org.opencv.core.Rect;

public class SplitPic {

public static void main(String[] args ){
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat image = Highgui.imread("D:/cc.jpg");
//System.out.println( "mat = " + image.dump() );

int m = 2;
int n = 2;

int height = image.rows();
int width  = image.cols();
System.out.println("height:"+height+" width:"+width);
int ceil_height = height/m;
int ceil_width  = width/n;
System.out.println("ceil_height:"+ceil_height+" ceil_width:"+ceil_width);

String filename = "D:/cc_sub";

for(int i = 0; i<m; i++ ) {
for(int j = 0; j<n; j++){
int a = j*ceil_width;
int b = i*ceil_height;
System.out.println(a+","+b+","+ceil_width+","+ceil_height);
Rect rect = new Rect(j*ceil_width,i*ceil_height,ceil_width,ceil_height);
Mat roi_img = new Mat(image,rect);
Mat tmp_img = new Mat();

roi_img.copyTo(tmp_img);

Highgui.imwrite(filename+i+"_"+j+".jpg", tmp_img);
}
}
}
}


        切割前的原图片

        


切割后的图片:







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java opencv
相关文章推荐