bytedeco/javacv
View on GitHubgrabber.grabImage() ist zu langsam, um mehrere Frames hintereinander zu erhalten
Open
#1,893 opened on Sep 22, 2022
help wantedquestion
Repository metrics
- Stars
- (6,985 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
I want to get multiple frames in a row, but the grabber.grabImage() method is too slow, can it be optimized? Below is my code
int flag = 1;
List<Map<Integer, Frame>> lists = new ArrayList<>();
while (flag < 64) {
Map<Integer,Frame> map = new HashMap<>();
Frame frame = grabber.grabImage();
map.put(flag,frame);
lists.add(map);
flag++;
}
log.info("lists");
for (Map<Integer, Frame> map : lists) {
map.forEach((k,v)->{
DecimalFormat decimalFormat = new DecimalFormat("00000");
String name = decimalFormat.format(k);
File imgUrl = new File("C:\\Users\\Administrator\\Desktop\\video\\" + name + ".jpg");
Java2DFrameConverter converter = new Java2DFrameConverter();
BufferedImage bufferedImage = converter.getBufferedImage(v);
try {
ImageIO.write(bufferedImage, "jpg", imgUrl);
} catch (IOException e) {
e.printStackTrace();
}
});
}