jpeg编码很有趣,但是有两个问题:
- 它不是无损格式,压缩时会丢失图像数据
- 需要一段时间(比以下建议的时间长6至10倍)
> public Image toBufferedImage(Mat m){>int type = BufferedImage.TYPE_BYTE_GRAY;>if ( m.channels() > 1 ) {> type = BufferedImage.TYPE_3BYTE_BGR;>}>int bufferSize = m.channels()*m.cols()*m.rows();>byte [] b = new byte[bufferSize];>m.get(0,0,b); // get all the pixels>BufferedImage image = new BufferedImage(m.cols(),m.rows(), type);>final byte[] targetPixels = ((DataBufferByte)> image.getRaster().getDataBuffer()).getData();>System.arraycopy(b, 0, targetPixels, 0, b.length); >return image;> > }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)