利用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实现简单图片的计数器
- Java 利用套接字Socket实现简单的服务器与客户端通信
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用Java Soft Reference技术实现Android图片管理器
- (转)【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用LineDDA函数来实现简单的图片移动动画
- 利用java实现简单的发送邮件
- Java之简单的图片动态显示(实现类似GIF动画结果)
- opencv学习笔记(二)vs2010+opencv2.3.1 mfc的实现---利用图片控件显示
- 基于java利用JDOM读取XML文件实现简单留言簿程序
- 【Android2D游戏开发十六】(上文之触摸屏手势)详解Android Gesture 手势操作!利用手势实现一个简单切换图片的功能!
- 16—【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能
- 利用opencv读取图片将其作为opengl的纹理图片的实现方法
- 利用java实现一个简单的远程监控程序
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用opencv读取图片将其作为opengl的纹理图片的实现方法
- 利用JAVA的动态属性之反射原理实现一个简单AOP容器 - AOP的实现原理分析