文章目录
- 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.