bytedeco/javacv
Auf GitHub ansehengrabber.grabImage() ist zu langsam, um mehrere Frames hintereinander zu erhalten
Open
#1.893 geöffnet am 22. Sept. 2022
help wantedquestion
Repository-Metriken
- Stars
- (6.985 Stars)
- PR-Merge-Metriken
- (Keine gemergten PRs in 30 T)
Beschreibung
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();
}
});
}