Add thresholding

This commit is contained in:
2026-09-29 12:35:26 +02:00
parent 2d417990ec
commit b8544b8f46
11 changed files with 647 additions and 2 deletions

View File

@@ -33,9 +33,10 @@ public class NavBar extends JMenuBar implements INavBar {
private JMenu drawingMenu;
private JMenu fourierMenu;
private JMenu linearMenu;
private JMenu histogramMenu;
private JMenu morphologyMenu;
private Menu outlineMenu;
private Menu thresholdingMenu;
private JMenu histogramMenu;
private NavPresenter presenter;
@@ -103,6 +104,10 @@ public class NavBar extends JMenuBar implements INavBar {
new MenuItem("Non-linéaire", this::displayNonLinearOutline)
);
thresholdingMenu = new Menu("Seuillage","/cp_51_p1.jpg",
new MenuItem("Afficher", this::displayThresholding)
);
histogramMenu = new Menu("Histogramme","/report_48_hot.jpg",
new MenuItem("Afficher", "/report_32_hot.jpg",this::displayHistogram)
);
@@ -113,6 +118,7 @@ public class NavBar extends JMenuBar implements INavBar {
this.add(linearMenu);
this.add(morphologyMenu);
this.add(outlineMenu);
this.add(thresholdingMenu);
this.add(histogramMenu);
drawingMenu.setEnabled(false);
@@ -120,9 +126,12 @@ public class NavBar extends JMenuBar implements INavBar {
linearMenu.setEnabled(false);
morphologyMenu.setEnabled(false);
outlineMenu.setEnabled(false);
thresholdingMenu.setEnabled(false);
histogramMenu.setEnabled(false);
}
//####################################################
private File chooseFile(){
@@ -190,6 +199,7 @@ public class NavBar extends JMenuBar implements INavBar {
linearMenu.setEnabled(true);
morphologyMenu.setEnabled(true);
outlineMenu.setEnabled(true);
thresholdingMenu.setEnabled(true);
histogramMenu.setEnabled(true);
}
@@ -200,6 +210,7 @@ public class NavBar extends JMenuBar implements INavBar {
linearMenu.setEnabled(false);
morphologyMenu.setEnabled(false);
outlineMenu.setEnabled(false);
thresholdingMenu.setEnabled(false);
histogramMenu.setEnabled(false);
}
@@ -261,6 +272,7 @@ public class NavBar extends JMenuBar implements INavBar {
private void displayNonLinearOutline(ActionEvent actionEvent) { presenter.goToNonLinearOutline();}
private void displayThresholding(ActionEvent actionEvent) { presenter.goToThresholding(); }
private void displayErrorMessage(String title, String message) {
JOptionPane.showMessageDialog(