OpenCV的java绑定显示图片
2013-10-08 14:28
357 查看
虽然opencv已经原生支持java但是还有一部分api没有实现,比如显示图片的api就没有,这时就需要使用swing或awt来显示图片了。
import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.InputStream; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import org.opencv.core.Core; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.MatOfByte; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.highgui.Highgui; public class Main { public static void showResult(Mat img) { //Imgproc.resize(img, img, new Size(640, 480)); MatOfByte matOfByte = new MatOfByte(); Highgui.imencode(".jpg", img, matOfByte); byte[] byteArray = matOfByte.toArray(); BufferedImage bufImage = null; try { InputStream in = new ByteArrayInputStream(byteArray); bufImage = ImageIO.read(in); JFrame frame = new JFrame(); frame.getContentPane().add(new JLabel(new ImageIcon(bufImage))); frame.pack(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { System.out.println("Welcome to OpenCV " + Core.VERSION); System.loadLibrary(Core.NATIVE_LIBRARY_NAME); //Mat m = Mat.eye(3, 3, CvType.CV_8UC1); Mat img = Mat.ones(200, 200, CvType.CV_8UC3); img.setTo(new Scalar(255, 255, 255)); //img.setTo(new Scalar(0, 0, 0)); Point p1 = new Point(10, 10); Point p2 = new Point(150, 150); //Rect rect = new Rect(p1, p2); // img.create(200, 200, CvType.CV_16U); Core.rectangle(img, p1, p2, new Scalar(255, 0, 0),5); Core.line(img, new Point(30,30),new Point(100,100), new Scalar(0,255, 100)); String filename = "test.jpg"; Highgui.imwrite(filename, img); showResult(img); //System.out.println("m = " + img.dump()); } }
相关文章推荐
- Java 初始化及类的加载
- 解决An error occurred while completing process -java.lang.reflect.InvocationTarget
- 关于struts2中No result defined for action这个异常的解决思路
- 10/08java 4000 学习
- spring @RequestParam注释
- java每日一学--数据校验20131008
- struts2源码分析(依赖注入)
- Android从零单排02_Eclipse搭建Android环境01
- java的一些基本知识,写的不错,就转来了
- java正则表达式验证手机号码,ip地址和邮箱
- JAVA对Cookie的操作
- Struts2自定义拦截器实例—登陆权限验证
- JavaReport-V3-Enterprise-Released.jar报错解决
- 关于使用Spring导致c3p0数据库死锁问题
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类 (转)
- Java 基础四:如何判断文件夹中是否有文件
- Java 调用cmd.exe命令
- JavaEE:Cookie和Session
- spring3.0注解定时任务配置及说明
- spring3.0注解定时任务配置及说明