資源簡介
人臉識(shí)別考勤系統(tǒng)
代碼片段和文件信息
package?net.betzel.bytedeco.javacv.bioinspired;
import?org.bytedeco.javacpp.tools.Slf4jLogger;
import?org.bytedeco.javacv.Canvasframe;
import?org.bytedeco.javacv.Java2DframeConverter;
import?org.bytedeco.javacv.OpenCVframeConverter;
import?javax.imageio.ImageIO;
import?java.awt.*;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?static?org.bytedeco.javacpp.opencv_core.*;
import?static?org.bytedeco.javacpp.opencv_imgproc.*;
import?static?org.bytedeco.javacpp.opencv_bioinspired.*;
/**
?*?Bioinspired?Retina?demonstration
?*?This?retina?model?allows?spatio-temporal?image?processing
?*?As?a?summary?these?are?the?retina?model?properties:
?*?It?applies?a?spectral?whithening?(mid-frequency?details?enhancement)
?*?high?frequency?spatio-temporal?noise?reduction
?*?low?frequency?luminance?to?be?reduced?(luminance?range?compression)
?*?local?logarithmic?luminance?compression?allows?details?to?be?enhanced?in?low?light?conditions
?*
?*?Created?by?mbetzel?on?04.09.2016.
?*/
public?class?RetinaExample?{
????static?{
????????System.setProperty(“org.bytedeco.javacpp.logger“?“slf4jlogger“);
????????System.setProperty(“org.slf4j.simpleLogger.defaultLogLevel“?“debug“);
????}
????private?static?final?Slf4jLogger?logger?=?(Slf4jLogger)?org.bytedeco.javacpp.tools.Logger.create(RetinaExample.class);
????public?static?void?main(String[]?args)?{
????????try?{
????????????logger.info(String.valueOf(logger.isDebugEnabled()));
????????????logger.info(“Start“);
????????????new?RetinaExample().execute(args);
????????????logger.info(“Stop“);
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????}
????private?void?execute(String[]?args)?throws?Exception?{
????????BufferedImage?bufferedImage?=?args.length?>=?1???ImageIO.read(new?File(args[0]))?:?ImageIO.read(this.getClass().getResourceAsStream(“BlackBalls.jpg“));
????????System.out.println(“Image?type:?“?+?bufferedImage.getType());
????????Mat?matrix?=?new?OpenCVframeConverter.ToMat().convert(new?Java2DframeConverter().convert(bufferedImage));
????????normalize(matrix?matrix?0?255?NORM_MINMAX?-1?noArray());
????????showImage(matrix);
????????matrix.convertTo(matrix?CV_32F);
????????Mat?gammaTransformedImage?=?new?Mat(matrix.size()?CV_32F);
????????pow(matrix?1.?/?5?gammaTransformedImage);
????????Retina?retina?=?createRetina(gammaTransformedImage.size());
????????Mat?retinaOutput_parvo?=?new?Mat();
????????Mat?retinaOutput_magno?=?new?Mat();
????????retina.clearBuffers();
????????retina.run(gammaTransformedImage);
????????retina.getParvo(retinaOutput_parvo);
????????retina.getMagno(retinaOutput_magno);
????????showImage(retinaOutput_parvo);
????????showImage(retinaOutput_magno);
????}
????private?void?showImage(Mat?matrix)?{
????????Canvasframe?canvasframe?=?new?Canvasframe(“Retina?demonstration“?1);
????????canvasframe.setDefaultCloseOperation(javax.swing.Jframe.EXIT_ON_CLOSE);
????????canvasframe.setCanvasSize(640?480);
????????Canvas?canvas?=?canvasframe.getCanv
評(píng)論
共有 條評(píng)論