我正在使用 java 中的 OpenCV,但我不了解在 java 中加载图片的类的一部分:
public class ImageProcessor {
public BufferedImage toBufferedImage(Mat matrix){
int type = BufferedImage.TYPE_BYTE_GRAY;
if ( matrix.channels() > 1 ) {
type = BufferedImage.TYPE_3BYTE_BGR;
}
int bufferSize = matrix.channels()*matrix.cols()*matrix.rows();
byte [] buffer = new byte[bufferSize];
matrix.get(0,0,buffer); // get all the pixels
BufferedImage image = new BufferedImage(matrix.cols(),matrix.rows(),type);
final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
System.arraycopy(buffer, 0, targetPixels, 0, buffer.length);
return image;
}
主类向该类发送一个Mat
对象。
结果发送BufferedImage
但我不明白 targetPixels 因为这个类没有在其他地方使用它。但是每当我评论 targetPixels 和 System.arraycopy 时,结果都会显示黑色图片。
我想知道什么是targetPixels
- 它有什么作用?