文章目录
- openpnp - loc_*.png是没用的临时文件
- 概述
- 笔记
- END
 
openpnp - loc_*.png是没用的临时文件
概述
前一段时间将X轴的固定螺母动了,让X轴运动更顺滑些。
 不得已,对openpnp设备重新进行了标定。
 到底部相机高级矫正完成后,正常退出,备份了.openpnp2目录。
 观察了一下,一共1.9GB, 大部分占用是loc_.png, 在 .openpnp2\org.openpnp.machine.reference.solutions.VisionSolutions 目录中。
 打开看了一下,这些loc_.png都是标定过程中用的中间文件,正常贴片时用不到。
 想看一下源码()openpnp_dev_2022_0801,看看是否真的没用。
笔记
    private Circle getPixelLocationShot(ReferenceCamera camera, String diagnostics, Mat image,
            int minDiameter, int maxDiameter, int maxDistance, int expectedX, int expectedY, ScoreRange scoreRange) 
                    throws Exception, IOException {
        List<Circle> results = DetectCircularSymmetry.findCircularSymmetry(image, 
                expectedX, expectedY, 
                minDiameter, maxDiameter, maxDistance, maxDistance, maxDistance, 1,
                minSymmetry, 0.0, subSampling, superSampling, symmetryScore, diagnostics != null, false, scoreRange);
        if (diagnostics != null) {
            if (LogUtils.isDebugEnabled()) {
            	// 如果调试标记使能,就记录临时文件 loc_*.png
                File file = Configuration.get().createResourceFile(getClass(), "loc_", ".png");
                Imgcodecs.imwrite(file.getAbsolutePath(), image);
            }                
            final BufferedImage diagnosticImage = OpenCvUtils.toBufferedImage(image);
            SwingUtilities.invokeLater(() -> {
                MainFrame.get()
                .getCameraViews()
                .getCameraView(camera)
                .showFilteredImage(diagnosticImage, 
                        diagnostics.replace("{score}", String.format("%.2f", scoreRange.finalScore)), 
                        diagnosticsMilliseconds);
            });
        }
        if (results.size() < 1) {
            throw new Exception("Subject not found.");
        }
        Circle result = results.get(0);
        return result;
    }
getPixelLocationShot()是从相机中取实时图像,存成loc_*.png只是调试需求。确实可以安全删掉。
 可以找一下调试标记是哪个,在配置文件中改为false就行。
public class LogUtils {
    public static boolean isDebugEnabled() {
        return Logger.getLevel().compareTo(Level.DEBUG) <= 0;
    }
}
在代码中找哪里设置的日志等级,找到面板上有日志等级设置。

只要全局日志等级 不是TRACE和DEBUG, 从INFO到ERROR等级都可以,就没有loc_*.png产生了。
 试过了,这个配置好使,开机后,手工归零后,自动校验NT1,NT2吸嘴。然后等待用户正常操作。
 还删除了log目录中的日志备份。
 压缩成7z后,备份只有47KB.



















