diff --git a/marvinproject/dev/MarvinPlugins/.classpath b/.classpath similarity index 65% rename from marvinproject/dev/MarvinPlugins/.classpath rename to .classpath index c280912..95f634d 100644 --- a/marvinproject/dev/MarvinPlugins/.classpath +++ b/.classpath @@ -1,21 +1,27 @@ - + - - + + + + + + + + diff --git a/.gitignore b/.gitignore index 166134d..ea8c4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,52 +1 @@ -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# ========================= -# Operating System Files -# ========================= - -# OSX -# ========================= - -.DS_Store -.AppleDouble -.LSOverride - -# Thumbnails -._* - -# Files that might appear on external disk -.Spotlight-V100 -.Trashes - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -# ========================= -# ECLIPSE CONF AND BINARIES -# ========================= - -marvinproject/dev/.metadata/ -*.class -*.html -*.log +/target diff --git a/marvinproject/dev/MarvinFramework/.project b/.project similarity index 100% rename from marvinproject/dev/MarvinFramework/.project rename to .project diff --git a/marvinproject/dev/MarvinPlugins/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs similarity index 72% rename from marvinproject/dev/MarvinPlugins/.settings/org.eclipse.jdt.core.prefs rename to .settings/org.eclipse.jdt.core.prefs index 6249222..8445b6b 100644 --- a/marvinproject/dev/MarvinPlugins/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,13 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/marvinproject/dev/MarvinFramework/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs similarity index 100% rename from marvinproject/dev/MarvinFramework/.settings/org.eclipse.m2e.core.prefs rename to .settings/org.eclipse.m2e.core.prefs diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/README.md b/README.md index d2e3395..7889eae 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,8 @@ http://marvinproject.sourceforge.net/ **DISCUSSION GROUP:**
https://groups.google.com/forum/#!forum/marvin-project +# Javascript Version: +**Site:** https://www.marvinj.org + +**Git:** https://github.com/gabrielarchanjo/marvinj diff --git a/bin/marvin/MarvinDefinitions.class b/bin/marvin/MarvinDefinitions.class new file mode 100644 index 0000000..9fd1f35 Binary files /dev/null and b/bin/marvin/MarvinDefinitions.class differ diff --git a/bin/marvin/MarvinPluginCollection.class b/bin/marvin/MarvinPluginCollection.class new file mode 100644 index 0000000..6cce3a8 Binary files /dev/null and b/bin/marvin/MarvinPluginCollection.class differ diff --git a/bin/marvin/color/MarvinColor.class b/bin/marvin/color/MarvinColor.class new file mode 100644 index 0000000..c7b0f39 Binary files /dev/null and b/bin/marvin/color/MarvinColor.class differ diff --git a/bin/marvin/color/MarvinColorModelConverter.class b/bin/marvin/color/MarvinColorModelConverter.class new file mode 100644 index 0000000..850e12e Binary files /dev/null and b/bin/marvin/color/MarvinColorModelConverter.class differ diff --git a/bin/marvin/gui/MarvinAttributesPanel$1.class b/bin/marvin/gui/MarvinAttributesPanel$1.class new file mode 100644 index 0000000..ecae756 Binary files /dev/null and b/bin/marvin/gui/MarvinAttributesPanel$1.class differ diff --git a/bin/marvin/gui/MarvinAttributesPanel$2.class b/bin/marvin/gui/MarvinAttributesPanel$2.class new file mode 100644 index 0000000..529ed16 Binary files /dev/null and b/bin/marvin/gui/MarvinAttributesPanel$2.class differ diff --git a/bin/marvin/gui/MarvinAttributesPanel.class b/bin/marvin/gui/MarvinAttributesPanel.class new file mode 100644 index 0000000..0ca287a Binary files /dev/null and b/bin/marvin/gui/MarvinAttributesPanel.class differ diff --git a/bin/marvin/gui/MarvinEditableImagePanel$MouseHandler.class b/bin/marvin/gui/MarvinEditableImagePanel$MouseHandler.class new file mode 100644 index 0000000..f7dda31 Binary files /dev/null and b/bin/marvin/gui/MarvinEditableImagePanel$MouseHandler.class differ diff --git a/bin/marvin/gui/MarvinEditableImagePanel.class b/bin/marvin/gui/MarvinEditableImagePanel.class new file mode 100644 index 0000000..0ff9a11 Binary files /dev/null and b/bin/marvin/gui/MarvinEditableImagePanel.class differ diff --git a/bin/marvin/gui/MarvinFilterWindow$ActionHandler.class b/bin/marvin/gui/MarvinFilterWindow$ActionHandler.class new file mode 100644 index 0000000..b9a7581 Binary files /dev/null and b/bin/marvin/gui/MarvinFilterWindow$ActionHandler.class differ diff --git a/bin/marvin/gui/MarvinFilterWindow.class b/bin/marvin/gui/MarvinFilterWindow.class new file mode 100644 index 0000000..395ed4d Binary files /dev/null and b/bin/marvin/gui/MarvinFilterWindow.class differ diff --git a/bin/marvin/gui/MarvinImagePanel.class b/bin/marvin/gui/MarvinImagePanel.class new file mode 100644 index 0000000..3ed30cc Binary files /dev/null and b/bin/marvin/gui/MarvinImagePanel.class differ diff --git a/bin/marvin/gui/MarvinPluginWindow.class b/bin/marvin/gui/MarvinPluginWindow.class new file mode 100644 index 0000000..42dd38b Binary files /dev/null and b/bin/marvin/gui/MarvinPluginWindow.class differ diff --git a/bin/marvin/gui/MarvinPluginWindowComponent$ComponentType.class b/bin/marvin/gui/MarvinPluginWindowComponent$ComponentType.class new file mode 100644 index 0000000..38d8134 Binary files /dev/null and b/bin/marvin/gui/MarvinPluginWindowComponent$ComponentType.class differ diff --git a/bin/marvin/gui/MarvinPluginWindowComponent.class b/bin/marvin/gui/MarvinPluginWindowComponent.class new file mode 100644 index 0000000..8915c07 Binary files /dev/null and b/bin/marvin/gui/MarvinPluginWindowComponent.class differ diff --git a/bin/marvin/gui/MarvinToolPanel$ButtonHandler.class b/bin/marvin/gui/MarvinToolPanel$ButtonHandler.class new file mode 100644 index 0000000..401082c Binary files /dev/null and b/bin/marvin/gui/MarvinToolPanel$ButtonHandler.class differ diff --git a/bin/marvin/gui/MarvinToolPanel.class b/bin/marvin/gui/MarvinToolPanel.class new file mode 100644 index 0000000..d5d0411 Binary files /dev/null and b/bin/marvin/gui/MarvinToolPanel.class differ diff --git a/bin/marvin/gui/component/MarvinMatrixPanel.class b/bin/marvin/gui/component/MarvinMatrixPanel.class new file mode 100644 index 0000000..be024f7 Binary files /dev/null and b/bin/marvin/gui/component/MarvinMatrixPanel.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/package.html b/bin/marvin/gui/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/package.html rename to bin/marvin/gui/package.html diff --git a/bin/marvin/image/MarvinBlob.class b/bin/marvin/image/MarvinBlob.class new file mode 100644 index 0000000..354fdf1 Binary files /dev/null and b/bin/marvin/image/MarvinBlob.class differ diff --git a/bin/marvin/image/MarvinBlobSegment.class b/bin/marvin/image/MarvinBlobSegment.class new file mode 100644 index 0000000..e7339d4 Binary files /dev/null and b/bin/marvin/image/MarvinBlobSegment.class differ diff --git a/bin/marvin/image/MarvinContour.class b/bin/marvin/image/MarvinContour.class new file mode 100644 index 0000000..9637ef4 Binary files /dev/null and b/bin/marvin/image/MarvinContour.class differ diff --git a/bin/marvin/image/MarvinImage.class b/bin/marvin/image/MarvinImage.class new file mode 100644 index 0000000..e8d7ec4 Binary files /dev/null and b/bin/marvin/image/MarvinImage.class differ diff --git a/bin/marvin/image/MarvinImageMap.class b/bin/marvin/image/MarvinImageMap.class new file mode 100644 index 0000000..df78ec6 Binary files /dev/null and b/bin/marvin/image/MarvinImageMap.class differ diff --git a/bin/marvin/image/MarvinImageMask.class b/bin/marvin/image/MarvinImageMask.class new file mode 100644 index 0000000..2d98d1b Binary files /dev/null and b/bin/marvin/image/MarvinImageMask.class differ diff --git a/bin/marvin/image/MarvinSegment.class b/bin/marvin/image/MarvinSegment.class new file mode 100644 index 0000000..509d91f Binary files /dev/null and b/bin/marvin/image/MarvinSegment.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/package.html b/bin/marvin/image/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/image/package.html rename to bin/marvin/image/package.html diff --git a/bin/marvin/io/MarvinImageIO$1.class b/bin/marvin/io/MarvinImageIO$1.class new file mode 100644 index 0000000..4d3dfea Binary files /dev/null and b/bin/marvin/io/MarvinImageIO$1.class differ diff --git a/bin/marvin/io/MarvinImageIO.class b/bin/marvin/io/MarvinImageIO.class new file mode 100644 index 0000000..43cc68c Binary files /dev/null and b/bin/marvin/io/MarvinImageIO.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/io/package.html b/bin/marvin/io/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/io/package.html rename to bin/marvin/io/package.html diff --git a/bin/marvin/machinelearning/decisiontree/DecisionTree.class b/bin/marvin/machinelearning/decisiontree/DecisionTree.class new file mode 100644 index 0000000..b1286ba Binary files /dev/null and b/bin/marvin/machinelearning/decisiontree/DecisionTree.class differ diff --git a/bin/marvin/machinelearning/decisiontree/DecisionTreeNode$CONDITION.class b/bin/marvin/machinelearning/decisiontree/DecisionTreeNode$CONDITION.class new file mode 100644 index 0000000..8dd95fc Binary files /dev/null and b/bin/marvin/machinelearning/decisiontree/DecisionTreeNode$CONDITION.class differ diff --git a/bin/marvin/machinelearning/decisiontree/DecisionTreeNode.class b/bin/marvin/machinelearning/decisiontree/DecisionTreeNode.class new file mode 100644 index 0000000..c03f04b Binary files /dev/null and b/bin/marvin/machinelearning/decisiontree/DecisionTreeNode.class differ diff --git a/bin/marvin/math/MarvinMath.class b/bin/marvin/math/MarvinMath.class new file mode 100644 index 0000000..61aa81b Binary files /dev/null and b/bin/marvin/math/MarvinMath.class differ diff --git a/bin/marvin/math/Point.class b/bin/marvin/math/Point.class new file mode 100644 index 0000000..9d4f7e4 Binary files /dev/null and b/bin/marvin/math/Point.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/package.html b/bin/marvin/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/package.html rename to bin/marvin/package.html diff --git a/bin/marvin/performance/MarvinPerformanceEntry.class b/bin/marvin/performance/MarvinPerformanceEntry.class new file mode 100644 index 0000000..86f54a2 Binary files /dev/null and b/bin/marvin/performance/MarvinPerformanceEntry.class differ diff --git a/bin/marvin/performance/MarvinPerformanceEvent.class b/bin/marvin/performance/MarvinPerformanceEvent.class new file mode 100644 index 0000000..b433507 Binary files /dev/null and b/bin/marvin/performance/MarvinPerformanceEvent.class differ diff --git a/bin/marvin/performance/MarvinPerformanceMeter.class b/bin/marvin/performance/MarvinPerformanceMeter.class new file mode 100644 index 0000000..1b73a82 Binary files /dev/null and b/bin/marvin/performance/MarvinPerformanceMeter.class differ diff --git a/bin/marvin/performance/MarvinPerformanceRegistry.class b/bin/marvin/performance/MarvinPerformanceRegistry.class new file mode 100644 index 0000000..531b6a2 Binary files /dev/null and b/bin/marvin/performance/MarvinPerformanceRegistry.class differ diff --git a/bin/marvin/performance/MarvinPerformanceWindow.class b/bin/marvin/performance/MarvinPerformanceWindow.class new file mode 100644 index 0000000..19146da Binary files /dev/null and b/bin/marvin/performance/MarvinPerformanceWindow.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/package.html b/bin/marvin/performance/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/package.html rename to bin/marvin/performance/package.html diff --git a/bin/marvin/plugin/MarvinAbstractAlgorithmPlugin.class b/bin/marvin/plugin/MarvinAbstractAlgorithmPlugin.class new file mode 100644 index 0000000..a89b1b9 Binary files /dev/null and b/bin/marvin/plugin/MarvinAbstractAlgorithmPlugin.class differ diff --git a/bin/marvin/plugin/MarvinAbstractImagePlugin.class b/bin/marvin/plugin/MarvinAbstractImagePlugin.class new file mode 100644 index 0000000..f6bd276 Binary files /dev/null and b/bin/marvin/plugin/MarvinAbstractImagePlugin.class differ diff --git a/bin/marvin/plugin/MarvinAbstractPlugin.class b/bin/marvin/plugin/MarvinAbstractPlugin.class new file mode 100644 index 0000000..599deec Binary files /dev/null and b/bin/marvin/plugin/MarvinAbstractPlugin.class differ diff --git a/bin/marvin/plugin/MarvinAbstractToolPlugin.class b/bin/marvin/plugin/MarvinAbstractToolPlugin.class new file mode 100644 index 0000000..fdd3b82 Binary files /dev/null and b/bin/marvin/plugin/MarvinAbstractToolPlugin.class differ diff --git a/bin/marvin/plugin/MarvinAlgorithmPlugin.class b/bin/marvin/plugin/MarvinAlgorithmPlugin.class new file mode 100644 index 0000000..b44eb2e Binary files /dev/null and b/bin/marvin/plugin/MarvinAlgorithmPlugin.class differ diff --git a/bin/marvin/plugin/MarvinImagePlugin.class b/bin/marvin/plugin/MarvinImagePlugin.class new file mode 100644 index 0000000..aeaae5a Binary files /dev/null and b/bin/marvin/plugin/MarvinImagePlugin.class differ diff --git a/bin/marvin/plugin/MarvinPlugin.class b/bin/marvin/plugin/MarvinPlugin.class new file mode 100644 index 0000000..1351c9e Binary files /dev/null and b/bin/marvin/plugin/MarvinPlugin.class differ diff --git a/bin/marvin/plugin/MarvinToolPlugin.class b/bin/marvin/plugin/MarvinToolPlugin.class new file mode 100644 index 0000000..934c77f Binary files /dev/null and b/bin/marvin/plugin/MarvinToolPlugin.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/package.html b/bin/marvin/plugin/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/package.html rename to bin/marvin/plugin/package.html diff --git a/bin/marvin/statistic/MarvinBarChart.class b/bin/marvin/statistic/MarvinBarChart.class new file mode 100644 index 0000000..361b433 Binary files /dev/null and b/bin/marvin/statistic/MarvinBarChart.class differ diff --git a/bin/marvin/statistic/MarvinBarChartEntry.class b/bin/marvin/statistic/MarvinBarChartEntry.class new file mode 100644 index 0000000..4d0c05b Binary files /dev/null and b/bin/marvin/statistic/MarvinBarChartEntry.class differ diff --git a/bin/marvin/statistic/MarvinHistogram.class b/bin/marvin/statistic/MarvinHistogram.class new file mode 100644 index 0000000..0e65e63 Binary files /dev/null and b/bin/marvin/statistic/MarvinHistogram.class differ diff --git a/bin/marvin/statistic/MarvinHistogramEntry.class b/bin/marvin/statistic/MarvinHistogramEntry.class new file mode 100644 index 0000000..60f7930 Binary files /dev/null and b/bin/marvin/statistic/MarvinHistogramEntry.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/statistic/package.html b/bin/marvin/statistic/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/statistic/package.html rename to bin/marvin/statistic/package.html diff --git a/bin/marvin/test/MarvinTestCase.class b/bin/marvin/test/MarvinTestCase.class new file mode 100644 index 0000000..79d9e81 Binary files /dev/null and b/bin/marvin/test/MarvinTestCase.class differ diff --git a/bin/marvin/thread/MarvinThread$PluginType.class b/bin/marvin/thread/MarvinThread$PluginType.class new file mode 100644 index 0000000..c648e72 Binary files /dev/null and b/bin/marvin/thread/MarvinThread$PluginType.class differ diff --git a/bin/marvin/thread/MarvinThread.class b/bin/marvin/thread/MarvinThread.class new file mode 100644 index 0000000..87fff08 Binary files /dev/null and b/bin/marvin/thread/MarvinThread.class differ diff --git a/bin/marvin/thread/MarvinThreadEvent.class b/bin/marvin/thread/MarvinThreadEvent.class new file mode 100644 index 0000000..1c20420 Binary files /dev/null and b/bin/marvin/thread/MarvinThreadEvent.class differ diff --git a/bin/marvin/thread/MarvinThreadListener.class b/bin/marvin/thread/MarvinThreadListener.class new file mode 100644 index 0000000..babb1a5 Binary files /dev/null and b/bin/marvin/thread/MarvinThreadListener.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/thread/package.html b/bin/marvin/thread/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/thread/package.html rename to bin/marvin/thread/package.html diff --git a/bin/marvin/util/MarvinAttributes.class b/bin/marvin/util/MarvinAttributes.class new file mode 100644 index 0000000..a54672a Binary files /dev/null and b/bin/marvin/util/MarvinAttributes.class differ diff --git a/bin/marvin/util/MarvinBoundingBox.class b/bin/marvin/util/MarvinBoundingBox.class new file mode 100644 index 0000000..e3bfa69 Binary files /dev/null and b/bin/marvin/util/MarvinBoundingBox.class differ diff --git a/bin/marvin/util/MarvinErrorHandler$TYPE.class b/bin/marvin/util/MarvinErrorHandler$TYPE.class new file mode 100644 index 0000000..70a350a Binary files /dev/null and b/bin/marvin/util/MarvinErrorHandler$TYPE.class differ diff --git a/bin/marvin/util/MarvinErrorHandler.class b/bin/marvin/util/MarvinErrorHandler.class new file mode 100644 index 0000000..4fa6fa4 Binary files /dev/null and b/bin/marvin/util/MarvinErrorHandler.class differ diff --git a/bin/marvin/util/MarvinFileChooser.class b/bin/marvin/util/MarvinFileChooser.class new file mode 100644 index 0000000..c43a037 Binary files /dev/null and b/bin/marvin/util/MarvinFileChooser.class differ diff --git a/bin/marvin/util/MarvinFileUtils.class b/bin/marvin/util/MarvinFileUtils.class new file mode 100644 index 0000000..9a14cb4 Binary files /dev/null and b/bin/marvin/util/MarvinFileUtils.class differ diff --git a/bin/marvin/util/MarvinImageUtils.class b/bin/marvin/util/MarvinImageUtils.class new file mode 100644 index 0000000..6c5a829 Binary files /dev/null and b/bin/marvin/util/MarvinImageUtils.class differ diff --git a/bin/marvin/util/MarvinJarLoader.class b/bin/marvin/util/MarvinJarLoader.class new file mode 100644 index 0000000..7926d21 Binary files /dev/null and b/bin/marvin/util/MarvinJarLoader.class differ diff --git a/bin/marvin/util/MarvinPluginHistory$ExportButtonHandler.class b/bin/marvin/util/MarvinPluginHistory$ExportButtonHandler.class new file mode 100644 index 0000000..5acaf50 Binary files /dev/null and b/bin/marvin/util/MarvinPluginHistory$ExportButtonHandler.class differ diff --git a/bin/marvin/util/MarvinPluginHistory.class b/bin/marvin/util/MarvinPluginHistory.class new file mode 100644 index 0000000..2d14e3d Binary files /dev/null and b/bin/marvin/util/MarvinPluginHistory.class differ diff --git a/bin/marvin/util/MarvinPluginLoader.class b/bin/marvin/util/MarvinPluginLoader.class new file mode 100644 index 0000000..0cbf0e7 Binary files /dev/null and b/bin/marvin/util/MarvinPluginLoader.class differ diff --git a/bin/marvin/util/MarvinStringParser.class b/bin/marvin/util/MarvinStringParser.class new file mode 100644 index 0000000..fa9af4c Binary files /dev/null and b/bin/marvin/util/MarvinStringParser.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/package.html b/bin/marvin/util/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/util/package.html rename to bin/marvin/util/package.html diff --git a/bin/marvin/video/MarvinJavaCVAdapter$MODE.class b/bin/marvin/video/MarvinJavaCVAdapter$MODE.class new file mode 100644 index 0000000..aa8bb09 Binary files /dev/null and b/bin/marvin/video/MarvinJavaCVAdapter$MODE.class differ diff --git a/bin/marvin/video/MarvinJavaCVAdapter.class b/bin/marvin/video/MarvinJavaCVAdapter.class new file mode 100644 index 0000000..8403822 Binary files /dev/null and b/bin/marvin/video/MarvinJavaCVAdapter.class differ diff --git a/bin/marvin/video/MarvinVideoInterface.class b/bin/marvin/video/MarvinVideoInterface.class new file mode 100644 index 0000000..7451acb Binary files /dev/null and b/bin/marvin/video/MarvinVideoInterface.class differ diff --git a/bin/marvin/video/MarvinVideoInterfaceException.class b/bin/marvin/video/MarvinVideoInterfaceException.class new file mode 100644 index 0000000..e021f0a Binary files /dev/null and b/bin/marvin/video/MarvinVideoInterfaceException.class differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/video/package.html b/bin/marvin/video/package.html similarity index 100% rename from marvinproject/dev/MarvinFramework/src/marvin/video/package.html rename to bin/marvin/video/package.html diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..f0b4c1c --- /dev/null +++ b/build.bat @@ -0,0 +1 @@ +mvn clean package \ No newline at end of file diff --git a/marvinproject/dev/MarvinEditor/marvin/framework/lib/junit-4.7.jar b/lib/junit-4.7.jar similarity index 100% rename from marvinproject/dev/MarvinEditor/marvin/framework/lib/junit-4.7.jar rename to lib/junit-4.7.jar diff --git a/marvinproject/dev/MarvinEditor/.classpath b/marvinproject/dev/MarvinEditor/.classpath deleted file mode 100644 index 6a876a7..0000000 --- a/marvinproject/dev/MarvinEditor/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/marvinproject/dev/MarvinEditor/.project b/marvinproject/dev/MarvinEditor/.project deleted file mode 100644 index cf8aa5d..0000000 --- a/marvinproject/dev/MarvinEditor/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - MarvinEditor - - - - - - org.eclipse.jdt.core.javabuilder - - - - - net.sourceforge.metrics.builder - - - - - - org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature - - diff --git a/marvinproject/dev/MarvinEditor/conf/conf.xml b/marvinproject/dev/MarvinEditor/conf/conf.xml deleted file mode 100644 index 0213476..0000000 --- a/marvinproject/dev/MarvinEditor/conf/conf.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/marvinproject/dev/MarvinEditor/marvin/framework/marvin_1.4.0.jar b/marvinproject/dev/MarvinEditor/marvin/framework/marvin_1.4.0.jar deleted file mode 100644 index 1575d1d..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/framework/marvin_1.4.0.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar deleted file mode 100644 index cf9294b..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.television.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.television.jar deleted file mode 100644 index 38bfeb9..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.artistic.television.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar deleted file mode 100644 index 3773018..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar deleted file mode 100644 index cfc75e2..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar deleted file mode 100644 index 0e2abad..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.emboss.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.emboss.jar deleted file mode 100644 index be8ef7c..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.emboss.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar deleted file mode 100644 index ec9717b..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.invert.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.invert.jar deleted file mode 100644 index 827f7bd..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.invert.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.sepia.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.sepia.jar deleted file mode 100644 index 77805e8..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.sepia.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar deleted file mode 100644 index fb91a5e..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar deleted file mode 100644 index 9eb3c6c..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar deleted file mode 100644 index af6bc96..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar deleted file mode 100644 index 10e1d9a..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.convolution.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.convolution.jar deleted file mode 100644 index de37a13..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.convolution.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar deleted file mode 100644 index f01b8e6..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar deleted file mode 100644 index 40f9679..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar deleted file mode 100644 index c8278e8..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar deleted file mode 100644 index 7123cb0..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar deleted file mode 100644 index ef2a2ef..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar deleted file mode 100644 index ea09b31..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar deleted file mode 100644 index c5d2728..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar deleted file mode 100644 index d2f9daa..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar deleted file mode 100644 index 92a3af4..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar deleted file mode 100644 index aa1a4f4..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar deleted file mode 100644 index 76370e0..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar deleted file mode 100644 index b2abee3..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar deleted file mode 100644 index 8e3d9bd..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar deleted file mode 100644 index 2cae9d1..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar deleted file mode 100644 index c6c3f32..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar deleted file mode 100644 index f82b0d7..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar deleted file mode 100644 index 36e5136..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar deleted file mode 100644 index 97a1c95..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar deleted file mode 100644 index 8679c8b..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar deleted file mode 100644 index 57c4099..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar deleted file mode 100644 index d9fd252..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar deleted file mode 100644 index f5ca0ae..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar deleted file mode 100644 index 8bea94a..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar deleted file mode 100644 index 67ddd04..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar deleted file mode 100644 index 2990a7d..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar deleted file mode 100644 index 222020f..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar deleted file mode 100644 index 3315777..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar deleted file mode 100644 index 6d04f43..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar deleted file mode 100644 index 6e35959..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.marvinLogo.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.marvinLogo.jar deleted file mode 100644 index 657a766..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.marvinLogo.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.text.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.text.jar deleted file mode 100644 index 8018868..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.render.text.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar deleted file mode 100644 index 2b8c9ad..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar deleted file mode 100644 index 42c56ac..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar deleted file mode 100644 index 26a232a..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar deleted file mode 100644 index ad5bcd3..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.median.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.median.jar deleted file mode 100644 index ab5d130..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.median.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar deleted file mode 100644 index f7e4c4c..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar deleted file mode 100644 index 7ad3ec4..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.steganography.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.steganography.jar deleted file mode 100644 index 4c4989c..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.steganography.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.subtract.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.subtract.jar deleted file mode 100644 index 7f81aec..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.subtract.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar deleted file mode 100644 index f18fb95..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.erode.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.erode.jar deleted file mode 100644 index a34c7f4..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.erode.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.findObjects.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.findObjects.jar deleted file mode 100644 index b04ba7e..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.findObjects.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.mw.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.mw.jar deleted file mode 100644 index 4ee0575..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.mw.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.plugin.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.plugin.jar deleted file mode 100644 index fa68662..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.test.plugin.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar deleted file mode 100644 index d025ce1..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.flip.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.flip.jar deleted file mode 100644 index edffea9..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.flip.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar deleted file mode 100644 index cca9ee3..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.scale.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.scale.jar deleted file mode 100644 index e32e7ab..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.scale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.skew.jar b/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.skew.jar deleted file mode 100644 index cf9b99d..0000000 Binary files a/marvinproject/dev/MarvinEditor/marvin/plugins/image/org.marvinproject.image.transform.skew.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/about.png b/marvinproject/dev/MarvinEditor/res/icons/application/about.png deleted file mode 100644 index e968ace..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/about.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/exit.png b/marvinproject/dev/MarvinEditor/res/icons/application/exit.png deleted file mode 100644 index 17ea900..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/exit.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/history.png b/marvinproject/dev/MarvinEditor/res/icons/application/history.png deleted file mode 100644 index f40d084..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/history.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/newFile.png b/marvinproject/dev/MarvinEditor/res/icons/application/newFile.png deleted file mode 100644 index 4133ed2..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/newFile.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/open.png b/marvinproject/dev/MarvinEditor/res/icons/application/open.png deleted file mode 100644 index 3dcd68c..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/open.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/reset.png b/marvinproject/dev/MarvinEditor/res/icons/application/reset.png deleted file mode 100644 index c98194d..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/reset.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/save.png b/marvinproject/dev/MarvinEditor/res/icons/application/save.png deleted file mode 100644 index 63eac2b..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/save.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/application/saveas.png b/marvinproject/dev/MarvinEditor/res/icons/application/saveas.png deleted file mode 100644 index 0a8fdd0..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/application/saveas.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/artistic.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/artistic.png deleted file mode 100644 index 2913ab9..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/artistic.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/brightnessContrast.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/brightnessContrast.png deleted file mode 100644 index 84cfe79..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/brightnessContrast.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/circles.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/circles.png deleted file mode 100644 index f295ba8..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/circles.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/colorHistogram.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/colorHistogram.png deleted file mode 100644 index 77cd38f..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/colorHistogram.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/combine.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/combine.png deleted file mode 100644 index d22e59a..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/combine.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/difference.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/difference.png deleted file mode 100644 index 66a7206..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/difference.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/dithering.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/dithering.png deleted file mode 100644 index d8f82c5..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/dithering.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/edgeDetector.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/edgeDetector.png deleted file mode 100644 index 86c483f..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/edgeDetector.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/errorDiffusion.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/errorDiffusion.png deleted file mode 100644 index 15dae05..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/errorDiffusion.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/flip.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/flip.png deleted file mode 100644 index 656a213..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/flip.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/gaussianBlur.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/gaussianBlur.png deleted file mode 100644 index ca3f8b4..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/gaussianBlur.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/gray.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/gray.png deleted file mode 100644 index e6079db..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/gray.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/grayGradient.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/grayGradient.png deleted file mode 100644 index a241089..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/grayGradient.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/imageSlicer.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/imageSlicer.png deleted file mode 100644 index c61c8bb..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/imageSlicer.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/mosaic.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/mosaic.png deleted file mode 100644 index fa7dfd1..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/mosaic.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/negative - Copy.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/negative - Copy.png deleted file mode 100644 index eafa606..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/negative - Copy.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/negative.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/negative.png deleted file mode 100644 index fffb324..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/negative.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/noiseReduction.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/noiseReduction.png deleted file mode 100644 index d0e0bf9..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/noiseReduction.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/pixelize.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/pixelize.png deleted file mode 100644 index 1406c4e..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/pixelize.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/rotate.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/rotate.png deleted file mode 100644 index ec06434..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/rotate.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/rylanders.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/rylanders.png deleted file mode 100644 index c9884f3..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/rylanders.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/scale.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/scale.png deleted file mode 100644 index 7f24189..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/scale.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/skew.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/skew.png deleted file mode 100644 index 8e36eeb..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/skew.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/steganography.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/steganography.png deleted file mode 100644 index 80467cf..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/steganography.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/television.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/television.png deleted file mode 100644 index 969004d..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/television.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/icons/plugins/thresholding.png b/marvinproject/dev/MarvinEditor/res/icons/plugins/thresholding.png deleted file mode 100644 index 7358d8f..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/icons/plugins/thresholding.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/about.png b/marvinproject/dev/MarvinEditor/res/images/about.png deleted file mode 100644 index 95b00f7..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/about.png and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/arara.jpg b/marvinproject/dev/MarvinEditor/res/images/arara.jpg deleted file mode 100644 index a2f1eb7..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/arara.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/gisele.jpg b/marvinproject/dev/MarvinEditor/res/images/gisele.jpg deleted file mode 100644 index 31a719c..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/gisele.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/landscape.jpg b/marvinproject/dev/MarvinEditor/res/images/landscape.jpg deleted file mode 100644 index 4dc6772..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/landscape.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/penelope.jpg b/marvinproject/dev/MarvinEditor/res/images/penelope.jpg deleted file mode 100644 index ccfd8f3..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/penelope.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/senna.jpg b/marvinproject/dev/MarvinEditor/res/images/senna.jpg deleted file mode 100644 index f9a20cf..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/senna.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/res/images/tucano.jpg b/marvinproject/dev/MarvinEditor/res/images/tucano.jpg deleted file mode 100644 index dd68788..0000000 Binary files a/marvinproject/dev/MarvinEditor/res/images/tucano.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinEditor/src/AboutDialog.java b/marvinproject/dev/MarvinEditor/src/AboutDialog.java deleted file mode 100644 index 33cbcb4..0000000 --- a/marvinproject/dev/MarvinEditor/src/AboutDialog.java +++ /dev/null @@ -1,144 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -import java.awt.Frame; - -import javax.swing.JDialog; -import javax.swing.JLabel; -import javax.swing.JTextArea; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinPluginLoader; - -/** - * Project´s about dialog. - * @version 1.0 29/01/09 - * @author Fabio Andrijaukas - * @author Gabriel Ambrósio Archanjo - * @author Danilo Rosetto Muńoz - */ -public class AboutDialog extends JDialog implements Runnable{ - private Thread thread; - private MarvinImagePlugin[] arrPlugin; - private MarvinImagePanel imagePanel; - private MarvinImage imageIn, - imageOut; - private int currentPlugin; - - /** - * Constructs a new AboutDialog with the specified Frame as its owner. - * @param owner the Frame from which the dialog is displayed - */ - public AboutDialog(Frame a_owner){ - super(a_owner); - setTitle("MARVIN - About"); - - imageIn = MarvinImageIO.loadImage("./res/images/about.png"); - imageOut = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - - imagePanel = new MarvinImagePanel(); - imagePanel.setImage(imageIn); - - arrPlugin = new MarvinImagePlugin[7]; - arrPlugin[0] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.color.invert.jar"); - arrPlugin[1] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.color.sepia.jar"); - arrPlugin[2] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.halftone.errorDiffusion.jar"); - arrPlugin[3] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.statistical.Median.jar"); - arrPlugin[4] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.color.grayScale.jar"); - arrPlugin[4].setAttribute("size", 1); - arrPlugin[5] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.edge.EdgeDetector.jar"); - arrPlugin[6] = MarvinPluginLoader.loadImagePlugin("org.marvinproject.image.transform.flip.jar"); - add(imagePanel); - - setSize(imageIn.getWidth(),imageIn.getHeight()+40); - setVisible(true); - - thread = new Thread(this); - thread.start(); - - /* - setSize(550, 360); - setLayout(new BorderLayout()); - setLocationRelativeTo(getOwner()); - - Container container = getContentPane(); - - //Marvin banner - lblBannerMarvin = new JLabel(); - lblBannerMarvin.setBackground(container.getBackground()); - - File l_fileMarvinBanner = new File("./rsc/marvinBanner.png"); - - if (l_fileMarvinBanner.exists()){ - try { - lblBannerMarvin.setIcon(new ImageIcon(l_fileMarvinBanner.getCanonicalPath())); - } catch (IOException e1) { - //Error while loading the Marvin banner. Let show about dialog without banner - } - } - //Top text - String l_strText = ""; - l_strText += " MARVIN Project\n\n"; - l_strText += " Initial version by:\n"; - l_strText += " Danilo Rosetto Muńoz\n"; - l_strText += " Fabio Andrijauskas\n"; - l_strText += " Gabriel Ambrósio Archanjo\n\n"; - - l_strText += " site: http://marvinproject.sourceforge.net\n"; - l_strText += " \n\n"; - - l_strText += " Marvin Copyright (C) 2007\n"; - l_strText += " Marvin comes with ABSOLUTELY NO WARRANTY;\n"; - l_strText += " This is free software, and you are welcome to redistribute it\n"; - l_strText += " under certain conditions."; - - //GPL text - txtAbout = new JTextArea(l_strText); - txtAbout.setEditable(false); - txtAbout.setBackground(container.getBackground()); - txtAbout.setAlignmentX(JTextArea.CENTER_ALIGNMENT); - txtAbout.setAlignmentY(JTextArea.CENTER_ALIGNMENT); - - container.add(lblBannerMarvin, BorderLayout.WEST); - container.add(txtAbout, BorderLayout.CENTER); - */ - } - - public void run(){ - while(true){ - - if(currentPlugin == 0){ - MarvinImage.copyColorArray(imageIn, imageOut); - } - else{ - arrPlugin[currentPlugin-1].process(imageIn,imageOut,null,MarvinImageMask.NULL_MASK, false); - } - imageOut.update(); - imagePanel.setImage(imageOut); - - currentPlugin++; - if(currentPlugin == arrPlugin.length+1){ - currentPlugin = 0; - } - - try{ - Thread.sleep(700); - } - catch(Exception e){ - e.printStackTrace(); - } - } - } -} diff --git a/marvinproject/dev/MarvinEditor/src/MarvinEditor.java b/marvinproject/dev/MarvinEditor/src/MarvinEditor.java deleted file mode 100644 index 9353d25..0000000 --- a/marvinproject/dev/MarvinEditor/src/MarvinEditor.java +++ /dev/null @@ -1 +0,0 @@ -/** Marvin Project <2007-2013> http://www.marvinproject.org License information: http://marvinproject.sourceforge.net/en/license.html Discussion group: https://groups.google.com/forum/#!forum/marvin-project */ import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.border.TitledBorder; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import marvin.gui.MarvinFilterWindow; import marvin.gui.MarvinImagePanel; import marvin.image.MarvinImage; import marvin.io.MarvinImageIO; import marvin.performance.MarvinPerformanceMeter; import marvin.plugin.MarvinImagePlugin; import marvin.util.MarvinErrorHandler; import marvin.util.MarvinFileChooser; import marvin.util.MarvinPluginLoader; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** * Marvin Image Editor Application. * @version 1.0 29/01/09 * @author Fabio Andrijaukas * @author Gabriel Ambrósio Archanjo * @author Danilo Rosetto Muńoz */ public class MarvinEditor extends JFrame { // Constants private final static String ICONS_PLUGINS_PATH = "./res/icons/plugins/"; private final static String ICONS_APPLICATION_PATH = "./res/icons/application/"; private final static String INITIAL_IMAGE = "./res/images/tucano.jpg"; private final static String PATH_FILTERS = "./marvin/plugins/image"; private final static String PATH_ANALYSES = "./lib/plugins/analyses"; private final static String MARVIN_EDITOR_VERSION = "1.3.1"; // GUI's components private JPanel panelMain; private TitledBorder titlep; private ImageIcon imageIcon; //private JLabel lblImage; private MarvinImagePanel imagePanel; private JScrollPane imageScrollPane; JMenuBar menuBar; // Menu JMenu jmnFile, jmnHelp, jmnEdit, jmnFilters, jmnAnalyses, jmnHistory; // MenuItens JMenuItem jmiNew, jmiOpen, jmiSave, jmiSaveAs, jmiExit, jmiShowHistory, jmiReset, jmiJavadoc, jmiAbout; // Access to the files and filters private File imgway; // Reflection receiving class private Class myClass; private MarvinImage image, originalImage; // Control and image manipulating class private String currentFilePath; private MarvinPerformanceMeter performanceMeter; // Marvin plug-in progress private MarvinEditor marvin; // Pointer to itself private NewFileDialog newFileDialog; private MenuHandler menuHandler; /** * Constructs Marvin main class with arguments * * @param a_args Arguments *

* NOTE: Marvin supports 2 arguments at initialization: * {@code windowBounds(x, y, width, height)} and {@code windowState(state)}. *
* These arguments are useful when it's working with 2 screens. * Assume second screen is set like "LEFT" and it has 1024x768 resolution. * It's possible opening Marvin directly to the second screen: *

* java -cp ".";"./bin" kernel.Marvin windowBounds(-1024,0,800,600) windowState(max) *

* This way could help in working source code and IDE with the main screen and testing Marvin in other one. */ public MarvinEditor(String a_args[]) { super("MARVIN"); loadMenuBar(); // Menu bars panelMain = new JPanel(); titlep = BorderFactory.createTitledBorder("Image"); panelMain.setBorder(titlep); panelMain.setSize(600, 600); panelMain.setLayout(new BorderLayout()); add(panelMain); imagePanel = new MarvinImagePanel(); imagePanel.enableHistory(); imagePanel.setImage(image); imageScrollPane = new JScrollPane(imagePanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); panelMain.add(imageScrollPane); // loads the File Chooser class. new JFileChooser(); //performanceMeter = new MarvinPerformanceMeter(); //add(performanceMeter.getPanel(), BorderLayout.SOUTH); newImage(500,500); treatArgs(a_args); marvin = this; setSize(800,600); // Default size setVisible(true); } private void loadPluginMenu(String a_tag, JMenuItem a_menuItem, ActionListener a_listener){ try{ File file = new File("./conf/conf.xml"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(file); doc.getDocumentElement().normalize(); NodeList nodeLst = doc.getElementsByTagName(a_tag); nodeLst = ((Element)nodeLst.item(0)).getElementsByTagName("item"); NodeList l_listEntries; JMenu l_currentMenu; JMenuItem l_currentMenuItem; String l_icon; for(int s = 0; s < nodeLst.getLength(); s++){ Node fstNode = nodeLst.item(s); if (fstNode.getNodeType() == Node.ELEMENT_NODE){ Element fstElmnt = (Element) fstNode; l_currentMenu = new JMenu(fstElmnt.getAttribute("name")); l_currentMenu.add(new JSeparator(JSeparator.VERTICAL)); a_menuItem.add(l_currentMenu); l_listEntries = fstElmnt.getElementsByTagName("entry"); for(int w=0; w -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JTextField; - - -public class NewFileDialog extends JDialog{ - - private JLabel labelWidth, - labelHeight; - - private JTextField textWidth, - textHeight; - - private JButton buttonOk; - - private MarvinEditor marvinEditor; - - - public NewFileDialog(MarvinEditor parent, String title){ - super(parent, title, JDialog.ModalityType.APPLICATION_MODAL); - this.marvinEditor = parent; - loadGUI(); - } - - private void loadGUI(){ - labelWidth = new JLabel("width:"); - labelHeight = new JLabel("height:"); - - textWidth = new JTextField(5); - textHeight = new JTextField(5); - - buttonOk = new JButton("OK"); - - JPanel panelNorth = new JPanel(); - panelNorth.setLayout(new FlowLayout()); - panelNorth.add(labelWidth); - panelNorth.add(textWidth); - panelNorth.add(labelHeight); - panelNorth.add(textHeight); - - JPanel panelSouth = new JPanel(); - panelSouth.setLayout(new FlowLayout(FlowLayout.CENTER)); - panelSouth.add(buttonOk); - - - Container c = getContentPane(); - c.setLayout(new BorderLayout()); - c.add(panelNorth, BorderLayout.NORTH); - c.add(panelSouth, BorderLayout.SOUTH); - - - // button Listener - buttonOk.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e){ - boolean success = false; - try{ - int width = Integer.parseInt(textWidth.getText()); - int height = Integer.parseInt(textHeight.getText()); - - if(width >= 0 && height >= 0){ - marvinEditor.newImage(width, height); - getDialog().dispose(); - success = true; - } - - } - catch(Exception ex){ - success = false; - } - - if(!success){ - JOptionPane.showMessageDialog(null, "Invalid width or height", - "Marvin", JOptionPane.ERROR_MESSAGE); - } - } - }); - - - setSize(300,100); - setVisible(true); - } - - public JDialog getDialog(){ - return this; - } -} - diff --git a/marvinproject/dev/MarvinFramework/.classpath b/marvinproject/dev/MarvinFramework/.classpath deleted file mode 100644 index 9143fd3..0000000 --- a/marvinproject/dev/MarvinFramework/.classpath +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/marvinproject/dev/MarvinFramework/.gitignore b/marvinproject/dev/MarvinFramework/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/marvinproject/dev/MarvinFramework/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/marvinproject/dev/MarvinFramework/.settings/org.eclipse.jdt.core.prefs b/marvinproject/dev/MarvinFramework/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 6249222..0000000 --- a/marvinproject/dev/MarvinFramework/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/marvinproject/dev/MarvinFramework/lib/junit-4.7.jar b/marvinproject/dev/MarvinFramework/lib/junit-4.7.jar deleted file mode 100644 index 700ad69..0000000 Binary files a/marvinproject/dev/MarvinFramework/lib/junit-4.7.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar deleted file mode 100644 index 0dc4c7e..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.television.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.television.jar deleted file mode 100644 index bad8cc5..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.artistic.television.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar deleted file mode 100644 index 9dce87f..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar deleted file mode 100644 index a51fb09..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar deleted file mode 100644 index a385e9b..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar deleted file mode 100644 index ec0bf27..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar deleted file mode 100644 index 954f7ae..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar deleted file mode 100644 index fded99d..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar deleted file mode 100644 index 09737ff..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar deleted file mode 100644 index 2146373..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.emboss.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.emboss.jar deleted file mode 100644 index 040db78..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.emboss.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar deleted file mode 100644 index a5f6774..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.invert.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.invert.jar deleted file mode 100644 index 605c581..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.invert.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.sepia.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.sepia.jar deleted file mode 100644 index 22bb3e0..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.sepia.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar deleted file mode 100644 index 0639b08..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar deleted file mode 100644 index 62bcff3..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar deleted file mode 100644 index 9c0dbe2..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar deleted file mode 100644 index 817297c..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar deleted file mode 100644 index 1b6d2c3..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar deleted file mode 100644 index 24235cb..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.convolution.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.convolution.jar deleted file mode 100644 index 3bd7250..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.convolution.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.harris.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.harris.jar deleted file mode 100644 index 0180e38..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.harris.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar deleted file mode 100644 index c6a9ef1..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.susan.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.susan.jar deleted file mode 100644 index 4f77778..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.corner.susan.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar deleted file mode 100644 index 969d023..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar deleted file mode 100644 index 79c834a..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar deleted file mode 100644 index 74c0caa..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar deleted file mode 100644 index c29526e..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar deleted file mode 100644 index 59e68ed..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar deleted file mode 100644 index f506570..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar deleted file mode 100644 index 9780a63..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar deleted file mode 100644 index 8faf166..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar deleted file mode 100644 index 426b5bb..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar deleted file mode 100644 index 3000cc3..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar deleted file mode 100644 index 09ebd47..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar deleted file mode 100644 index 81d5ab0..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar deleted file mode 100644 index c209e93..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar deleted file mode 100644 index 91ee401..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar deleted file mode 100644 index 6e59c5d..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar deleted file mode 100644 index 60e0ed6..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar deleted file mode 100644 index 6882aca..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar deleted file mode 100644 index 680ef40..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar deleted file mode 100644 index ad104e4..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar deleted file mode 100644 index 2ce6d97..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar deleted file mode 100644 index 0679e16..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar deleted file mode 100644 index d90b58d..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar deleted file mode 100644 index 662f4ee..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar deleted file mode 100644 index ceed1ff..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar deleted file mode 100644 index 78e858a..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar deleted file mode 100644 index 15c8b0b..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar deleted file mode 100644 index 8d403ec..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar deleted file mode 100644 index 6758bb4..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar deleted file mode 100644 index af7f531..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar deleted file mode 100644 index 397ce83..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar deleted file mode 100644 index 9768a44..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar deleted file mode 100644 index 618ceba..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar deleted file mode 100644 index 63c0f5a..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar deleted file mode 100644 index 0809cf0..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.text.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.text.jar deleted file mode 100644 index cd2a577..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.render.text.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar deleted file mode 100644 index 6a45cd9..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar deleted file mode 100644 index 15cf0ae..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar deleted file mode 100644 index a199a31..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar deleted file mode 100644 index bdb9964..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar deleted file mode 100644 index c11bc8d..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.median.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.median.jar deleted file mode 100644 index fca64a5..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.median.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar deleted file mode 100644 index 1f9f0cf..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar deleted file mode 100644 index 1b80da9..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.steganography.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.steganography.jar deleted file mode 100644 index a8c702d..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.steganography.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.subtract.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.subtract.jar deleted file mode 100644 index 9b3a9a0..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.subtract.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar deleted file mode 100644 index 6d452d6..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.plugin.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.plugin.jar deleted file mode 100644 index fb7cd45..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.test.plugin.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar deleted file mode 100644 index 09a6d52..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.flip.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.flip.jar deleted file mode 100644 index a2be3d6..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.flip.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar deleted file mode 100644 index 0bc69b6..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.scale.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.scale.jar deleted file mode 100644 index fd4a422..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.scale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.skew.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.skew.jar deleted file mode 100644 index 517d35b..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.skew.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar deleted file mode 100644 index d95f204..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.ml.kmeans.jar b/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.ml.kmeans.jar deleted file mode 100644 index 4e5ac8a..0000000 Binary files a/marvinproject/dev/MarvinFramework/marvin/plugins/image/org.marvinproject.ml.kmeans.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/res/arara.jpg b/marvinproject/dev/MarvinFramework/res/arara.jpg deleted file mode 100644 index a2f1eb7..0000000 Binary files a/marvinproject/dev/MarvinFramework/res/arara.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/res/arara.png b/marvinproject/dev/MarvinFramework/res/arara.png deleted file mode 100644 index cc337b8..0000000 Binary files a/marvinproject/dev/MarvinFramework/res/arara.png and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/res/senna.jpg b/marvinproject/dev/MarvinFramework/res/senna.jpg deleted file mode 100644 index f9a20cf..0000000 Binary files a/marvinproject/dev/MarvinFramework/res/senna.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/res/tucano.jpg b/marvinproject/dev/MarvinFramework/res/tucano.jpg deleted file mode 100644 index 8a27237..0000000 Binary files a/marvinproject/dev/MarvinFramework/res/tucano.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/MarvinPluginCollection.java b/marvinproject/dev/MarvinFramework/src/marvin/MarvinPluginCollection.java deleted file mode 100644 index 8b382ab..0000000 --- a/marvinproject/dev/MarvinFramework/src/marvin/MarvinPluginCollection.java +++ /dev/null @@ -1,1241 +0,0 @@ -package marvin; - -import java.awt.Color; -import java.util.List; - -import marvin.image.MarvinBlobSegment; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.image.MarvinSegment; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.util.MarvinPluginLoader; - -//public class MarvinPluginCollection { -// -// private static MarvinImagePlugin alphaBoundary, -// blackAndWhite, -// brightnessAndContrast, -// boundaryFill, -// colorChannel, -// combineByMask, -// combineByTransparency, -// convolution, -// crop, -// determineSceneBackground, -// emboss, -// findSubimage, -// findTextRegions, -// flip, -// floodfillSegmentation, -// gaussianBlur, -// grayScale, -// harris, -// histogramEqualization, -// halftoneCircles, -// halftoneDithering, -// halftoneErrorDiffusion, -// halftoneRylanders, -// imageSlicer, -// invertColors, -// iteratedFuncionSystems, -// juliaSet, -// lindenmayer, -// mandelbrot, -// mergePhotos, -// moravec, -// morphologicalBoundary, -// morphologicalClosing, -// morphologicalDilation, -// morphologicalErosion, -// morphologicalOpening, -// morphologicalThinning, -// mosaic, -// pixelize, -// prewitt, -// quantizationGrayScale, -// roberts, -// rotate, -// scale, -// sobel, -// skew, -// sepia, -// statisticalMaximum, -// statisticalMedian, -// statisticalMinimum, -// statisticalMode, -// subtract, -// susan, -// skinColorDetection, -// television, -// tileTexture, -// thresholding, -// thresholdingNeighborhood, -// watershed; -// -// private static boolean[][] boolean_3x3 = new boolean[][]{ -// {true,true,true}, -// {true,true,true}, -// {true,true,true} -// }; -// -// /*============================================================================================== -// | ALPHA BOUNDARY -// ==============================================================================================*/ -// /** -// * Applies a gradient transparency to boundary pixels -// * @param imageIn input image -// * @param radius transparency radius -// */ -// public static void alphaBoundary(MarvinImage imageIn, int radius){ -// alphaBoundary(imageIn.clone(), imageIn, radius); -// } -// -// /** -// * Applies a gradient transparency to boundary pixels -// * @param imageIn input image -// * @param imageOut output image -// * @param radius transparency radius -// */ -// public static void alphaBoundary(MarvinImage imageIn, MarvinImage imageOut, int radius){ -// alphaBoundary = checkAndLoadImagePlugin(alphaBoundary, "org.marvinproject.image.color.alphaBoundary"); -// alphaBoundary.setAttribute("radius", radius); -// alphaBoundary.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | BLACK AND WHITE -// ==============================================================================================*/ -// -// /** -// * Converts image to black and white. -// * @param imageIn input image -// * @param level black and white level -// */ -// public static void blackAndWhite(MarvinImage image, int level){ -// blackAndWhite(image, image, level); -// } -// -// /** -// * Converts image to black and white. -// * @param imageIn input image -// * @param imageOut output image -// * @param level black and white level -// */ -// public static void blackAndWhite(MarvinImage imageIn, MarvinImage imageOut, int level){ -// blackAndWhite(imageIn, imageOut, level, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Converts image to black and white. -// * @param imageIn input image -// * @param imageOut output image -// * @param level black and white level -// * @param mask pixel mask -// */ -// public static void blackAndWhite(MarvinImage imageIn, MarvinImage imageOut, int level, MarvinImageMask mask){ -// blackAndWhite = checkAndLoadImagePlugin(blackAndWhite, "org.marvinproject.image.color.blackAndWhite"); -// blackAndWhite.setAttribute("level", level); -// blackAndWhite.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | BOUNDARY FILL -// ==============================================================================================*/ -// /** -// * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. -// * @param imageIn input image -// * @param imageOut output image -// * @param x fill start X -// * @param y fill start Y -// * @param color color -// */ -// public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color){ -// boundaryFill(imageIn, imageOut, x, y, color, null, 0); -// } -// -// /** -// * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. -// * @param imageIn input image -// * @param imageOut output image -// * @param x fill start X -// * @param y fill start Y -// * @param color color -// * @param threshold accepted threshold to the specified color. -// */ -// public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color, int threshold){ -// boundaryFill(imageIn, imageOut, x, y, color, null, threshold); -// } -// -// /** -// * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. -// * @param imageIn input image -// * @param imageOut output image -// * @param x fill start X -// * @param y fill start Y -// * @param color color -// * @param tile tile image for texture based filling -// * @param threshold accepted threshold to the specified color. -// */ -// public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color, MarvinImage tile, int threshold){ -// boundaryFill = checkAndLoadImagePlugin(boundaryFill, "org.marvinproject.image.fill.boundaryFill"); -// boundaryFill.setAttribute("x", x); -// boundaryFill.setAttribute("y", y); -// boundaryFill.setAttribute("color", color); -// boundaryFill.setAttribute("tile", tile); -// boundaryFill.setAttribute("threshold", threshold); -// boundaryFill.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | BRIGHTNESS AND CONTRAST -// ==============================================================================================*/ -// /** -// * Manipulate image brightness and contrast -// * @param imageIn input image -// * @param brightness brightness variation [-127, 127] -// * @param contrast contrast variation [-127, 127] -// */ -// public static void brightnessAndContrast(MarvinImage image, int brightness, int contrast){ -// brightnessAndContrast(image, image, brightness, contrast); -// } -// -// /** -// * Manipulate image brightness and contrast -// * @param imageIn input image -// * @param imageOut output image -// * @param brightness brightness variation [-127, 127] -// * @param contrast contrast variation [-127, 127] -// */ -// public static void brightnessAndContrast(MarvinImage imageIn, MarvinImage imageOut, int brightness, int contrast){ -// brightnessAndContrast(imageIn, imageOut, brightness, contrast, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Manipulate image brightness and contrast -// * @param imageIn input image -// * @param imageOut output image -// * @param brightness brightness variation [-127, 127] -// * @param contrast contrast variation [-127, 127] -// * @param mask pixel mask -// */ -// public static void brightnessAndContrast(MarvinImage imageIn, MarvinImage imageOut, int brightness, int contrast, MarvinImageMask mask){ -// brightnessAndContrast = checkAndLoadImagePlugin(brightnessAndContrast, "org.marvinproject.image.color.brightnessAndContrast"); -// brightnessAndContrast.setAttribute("brightness", brightness); -// brightnessAndContrast.setAttribute("contrast", contrast); -// brightnessAndContrast.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | COMBINE BY MASK -// ==============================================================================================*/ -// /** -// * Combine two images considering a given color as transparency. -// * @param imageA input image A -// * @param imageB input image B -// * @param imageOut output image -// * @param x position x of image B on image A -// * @param y position y of image B on image A -// * @param colorMask Transparent color -// */ -// public static void combineByMask(MarvinImage imageA, MarvinImage imageB, MarvinImage imageOut, int x, int y, Color colorMask){ -// combineByMask = checkAndLoadImagePlugin(combineByMask, "org.marvinproject.image.combine.combineByMask"); -// combineByMask.setAttribute("xi", x); -// combineByMask.setAttribute("yi", y); -// combineByMask.setAttribute("combinationImage", imageB); -// combineByMask.setAttribute("colorMask", colorMask); -// combineByMask.process(imageA, imageOut); -// } -// -// /*============================================================================================== -// | COMBINE BY TRANSPARENCY -// ==============================================================================================*/ -// /** -// * Combine two images having transparency. -// * @param imageA input image A -// * @param imageB input image B -// * @param imageOut output image -// * @param x position x of image B on image A -// * @param y position y of image B on image A -// * @param transparency -// */ -// public static void combineByTransparency(MarvinImage imageA, MarvinImage imageB, MarvinImage imageOut, int x, int y, int transparency){ -// combineByTransparency = checkAndLoadImagePlugin(combineByTransparency, "org.marvinproject.image.combine.combineByTransparency"); -// combineByTransparency.setAttribute("xi", x); -// combineByTransparency.setAttribute("yi", y); -// combineByTransparency.setAttribute("combinationImage", imageB); -// combineByTransparency.setAttribute("transparency", transparency); -// combineByTransparency.process(imageA, imageOut); -// } -// -// /*============================================================================================== -// | CONVOLUTION -// ==============================================================================================*/ -// /** -// * Convolution -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix convolution matrix -// */ -// public static void convolution(MarvinImage imageIn, MarvinImage imageOut, double[][] matrix){ -// convolution = checkAndLoadImagePlugin(convolution, "org.marvinproject.image.convolution"); -// convolution.setAttribute("matrix", matrix); -// convolution.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | COLOR CHANNEL -// ==============================================================================================*/ -// -// /** -// * Manipulates image color channels -// * @param imageIn input image -// * @param red red manipulation [-100, 100] -// * @param green green manipulation [-100, 100] -// * @param blue blue manipulation [-100, 100] -// */ -// public static void colorChannel(MarvinImage image, int red, int green, int blue){ -// colorChannel(image, image, red, green, blue); -// } -// -// /** -// * Manipulates image color channels -// * @param imageIn input image -// * @param imageOut output image -// * @param red red manipulation [-100, 100] -// * @param green green manipulation [-100, 100] -// * @param blue blue manipulation [-100, 100] -// */ -// public static void colorChannel(MarvinImage imageIn, MarvinImage imageOut, int red, int green, int blue){ -// colorChannel(imageIn, imageOut, red, green, blue, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Manipulates image color channels -// * @param imageIn input image -// * @param imageOut output image -// * @param red red manipulation [-100, 100] -// * @param green green manipulation [-100, 100] -// * @param blue blue manipulation [-100, 100] -// * @param mask pixel mask -// */ -// public static void colorChannel(MarvinImage imageIn, MarvinImage imageOut, int red, int green, int blue, MarvinImageMask mask){ -// colorChannel = checkAndLoadImagePlugin(colorChannel, "org.marvinproject.image.color.colorChannel"); -// colorChannel.setAttribute("red", red); -// colorChannel.setAttribute("green", green); -// colorChannel.setAttribute("blue", blue); -// colorChannel.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | CROP -// ==============================================================================================*/ -// /** -// * Image cropping -// * @param imageIn input image -// * @param imageOut output image -// * @param x subimage x -// * @param y subimage y -// * @param width subimage width -// * @param height subimage height -// */ -// public static void crop(MarvinImage imageIn, MarvinImage imageOut, int x, int y, int width, int height){ -// -// x = Math.min(Math.max(x, 0), imageIn.getWidth()); -// y = Math.min(Math.max(y, 0), imageIn.getHeight()); -// -// if(x + width > imageIn.getWidth()){ -// width = imageIn.getWidth() - x; -// } -// if(y + height > imageIn.getHeight()){ -// height = imageIn.getHeight() - y; -// } -// -// crop = checkAndLoadImagePlugin(crop, "org.marvinproject.image.segmentation.crop"); -// crop.setAttribute("x", x); -// crop.setAttribute("y", y); -// crop.setAttribute("width", width); -// crop.setAttribute("height", height); -// crop.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | DETERMINE SCENE BACKGROUND -// ==============================================================================================*/ -// /** -// * Estimate the background from a set of images from the same scene. -// * @param images list of images from the same scene -// * @param imageOut estimated background -// * @param threshold threshold considered by the pixel comparison. -// */ -// public static void determineSceneBackground(List images, MarvinImage imageOut, int threshold){ -// determineSceneBackground = checkAndLoadImagePlugin(determineSceneBackground, "org.marvinproject.image.background.determineSceneBackground"); -// determineSceneBackground.setAttribute("threshold", threshold); -// determineSceneBackground.process(images, imageOut); -// } -// -// /*============================================================================================== -// | FIND SUBIMAGE -// ==============================================================================================*/ -// /** -// * Find instances of a given image in another image with perfect matching (exactly the same pixels value). -// * @param subimage image to be found -// * @param original input image -// * @return list of image segments. -// */ -// public static List findAllSubimages(MarvinImage subimage, MarvinImage original){ -// return findAllSubimages(subimage, original, 1.0); -// } -// -// /** -// * Find instances of a given image in another image. -// * @param subimage image to be found -// * @param original input image -// * @param similarity match percentage [0.0, 1.0] -// * @return list of image segments. -// */ -// public static List findAllSubimages(MarvinImage subimage, MarvinImage original, double similarity){ -// findSubimage = checkAndLoadImagePlugin(flip, "org.marvinproject.image.pattern.findSubimage"); -// findSubimage.setAttribute("subimage", subimage); -// findSubimage.setAttribute("similarity", similarity); -// MarvinAttributes output = new MarvinAttributes(); -// findSubimage.process(original, null, output); -// return (List)output.get("matches"); -// } -// -// /** -// * Find the first instance of a given image in another image. -// * @param subimage image to be found -// * @param original input image -// * @param startX search start x -// * @param startY search start y -// * @return the image segment of the first instance found. -// */ -// public static MarvinSegment findSubimage(MarvinImage subimage, MarvinImage original, int startX, int startY){ -// return findSubimage(subimage, original, startX, startY, 1.0); -// } -// -// /** -// * Find the first instance of a given image in another image. -// * @param subimage image to be found -// * @param original input image -// * @param startX search start x -// * @param startY search start y -// * @param similarity match percentage [0.0, 1.0] -// * @return the image segment of the first instance found. -// */ -// public static MarvinSegment findSubimage(MarvinImage subimage, MarvinImage original, int startX, int startY, double similarity){ -// findSubimage = checkAndLoadImagePlugin(flip, "org.marvinproject.image.pattern.findSubimage"); -// findSubimage.setAttribute("subimage", subimage); -// findSubimage.setAttribute("similarity", similarity); -// findSubimage.setAttribute("findAll", false); -// findSubimage.setAttribute("startX", startX); -// findSubimage.setAttribute("startY", startY); -// MarvinAttributes output = new MarvinAttributes(); -// findSubimage.process(original, null, output); -// -// List ret = (List)output.get("matches"); -// if(ret.size() > 0){ -// return ret.get(0); -// } -// return null; -// } -// -// /*============================================================================================== -// | FIND TEXT REGIONS -// ==============================================================================================*/ -// /** -// * Find text regions in a given image. -// * @param imageIn input image -// * @param maxWhiteSpace max number of white pixels in the text pattern -// * @param maxFontLineWidth max number of black pixels in the text pattern -// * @param minTextWidth min text width in pixels -// * @param grayScaleThreshold gray scale threshold for conveting image to black and white -// * @return list of image segments containing texts. -// */ -// public static List findTextRegions(MarvinImage imageIn, int maxWhiteSpace, int maxFontLineWidth, int minTextWidth, int grayScaleThreshold){ -// findTextRegions = checkAndLoadImagePlugin(findTextRegions, "org.marvinproject.image.pattern.findTextRegions"); -// findTextRegions.setAttribute("maxWhiteSpace", maxWhiteSpace); -// findTextRegions.setAttribute("maxFontLineWidth", maxFontLineWidth); -// findTextRegions.setAttribute("minTextWidth", minTextWidth); -// findTextRegions.setAttribute("grayScaleThreshold", grayScaleThreshold); -// MarvinAttributes output = new MarvinAttributes(); -// findTextRegions.process(imageIn, null, output); -// return (List)output.get("matches"); -// } -// -// /*============================================================================================== -// | EMBOSS -// ==============================================================================================*/ -// /** -// * Emboss filter -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void emboss(MarvinImage imageIn, MarvinImage imageOut){ -// emboss(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Emboss filter -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void emboss(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// emboss = checkAndLoadImagePlugin(emboss, "org.marvinproject.image.color.emboss"); -// emboss.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | FLIP -// ==============================================================================================*/ -// /** -// * Flips the image horizontally -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void flipHorizontally(MarvinImage imageIn, MarvinImage imageOut){ -// flip = checkAndLoadImagePlugin(flip, "org.marvinproject.image.transform.flip"); -// flip.setAttribute("flip", "horizontal"); -// flip.process(imageIn, imageOut); -// } -// -// /** -// * Flips the image vertically -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void flipVertically(MarvinImage imageIn, MarvinImage imageOut){ -// flip = checkAndLoadImagePlugin(flip, "org.marvinproject.image.transform.flip"); -// flip.setAttribute("flip", "vertical"); -// flip.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | FLOODFILL SEGMENTATION -// ==============================================================================================*/ -// public static MarvinSegment[] floodfillSegmentation(MarvinImage imageIn){ -// floodfillSegmentation = checkAndLoadImagePlugin(floodfillSegmentation, "org.marvinproject.image.segmentation.floodfillSegmentation"); -// floodfillSegmentation.setAttribute("returnType", "MarvinSegment"); -// MarvinAttributes output = new MarvinAttributes(); -// floodfillSegmentation.process(imageIn, null, output); -// return (MarvinSegment[])output.get("segments"); -// } -// -// public static MarvinBlobSegment[] floodfillSegmentationBlob(MarvinImage imageIn){ -// floodfillSegmentation = checkAndLoadImagePlugin(floodfillSegmentation, "org.marvinproject.image.segmentation.floodfillSegmentation"); -// floodfillSegmentation.setAttribute("returnType", "MarvinBlobSegment"); -// MarvinAttributes output = new MarvinAttributes(); -// floodfillSegmentation.process(imageIn, null, output); -// return (MarvinBlobSegment[])output.get("blobSegments"); -// } -// -// /*============================================================================================== -// | GAUSSIAN BLUR -// ==============================================================================================*/ -// /** -// * Gaussian blur filter -// * @param imageIn input image -// * @param imageOut output image -// * @param radius blur radius -// */ -// public static void gaussianBlur(MarvinImage imageIn, MarvinImage imageOut, int radius){ -// gaussianBlur(imageIn, imageOut, radius, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Gaussian blur filter -// * @param imageIn input image -// * @param imageOut output image -// * @param radius blur radius -// * @param mask pixel mask -// */ -// public static void gaussianBlur(MarvinImage imageIn, MarvinImage imageOut, int radius, MarvinImageMask mask){ -// gaussianBlur = checkAndLoadImagePlugin(gaussianBlur, "org.marvinproject.image.blur.gaussianBlur"); -// gaussianBlur.setAttribute("radius", radius); -// gaussianBlur.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | GRAY SCALE -// ==============================================================================================*/ -// /** -// * Gray scale filter -// * @param imageIn input image -// */ -// public static void grayScale(MarvinImage image){ -// grayScale(image, image); -// } -// -// /** -// * Gray scale filter -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void grayScale(MarvinImage imageIn, MarvinImage imageOut){ -// grayScale(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Gray scale filter -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void grayScale(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// grayScale = checkAndLoadImagePlugin(grayScale, "org.marvinproject.image.color.grayScale"); -// grayScale.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | HALFTONE CIRCLES -// ==============================================================================================*/ -// /** -// * Image halftone using circles approach -// * @param imageIn input image -// * @param imageOut output image -// * @param circleWidth circle max width -// * @param shift circle shift -// * @param circlesDistance circles minimum distance -// * @param mask pixel mask -// */ -// public static void halftoneCircles(MarvinImage imageIn, MarvinImage imageOut, int circleWidth, int shift, int circlesDistance, MarvinImageMask mask){ -// halftoneCircles = checkAndLoadImagePlugin(halftoneCircles, "org.marvinproject.image.halftone.circles"); -// halftoneCircles.setAttribute("circleWidth", circleWidth); -// halftoneCircles.setAttribute("shift", shift); -// halftoneCircles.setAttribute("circlesDistance", circlesDistance); -// halftoneCircles.process(imageIn, imageOut, mask); -// } -// -// /** -// * Image halftone using circles approach -// * @param imageIn input image -// * @param imageOut output image -// * @param circleWidth circle max width -// * @param shift circle shift -// * @param circlesDistance circles minimum distance -// */ -// public static void halftoneCircles(MarvinImage imageIn, MarvinImage imageOut, int circleWidth, int shift, int circlesDistance){ -// halftoneCircles(imageIn, imageOut, circleWidth, shift, circlesDistance, MarvinImageMask.NULL_MASK); -// } -// -// /*============================================================================================== -// | HALFTONE DITHERING -// ==============================================================================================*/ -// /** -// * Image halftone using dithering approach -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void halftoneDithering(MarvinImage imageIn, MarvinImage imageOut){ -// halftoneDithering = checkAndLoadImagePlugin(halftoneDithering, "org.marvinproject.image.halftone.dithering"); -// halftoneDithering.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | HALFTONE ERROR DIFFUSION -// ==============================================================================================*/ -// /** -// * Image halftone using error diffusion approach -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void halftoneErrorDiffusion(MarvinImage imageIn, MarvinImage imageOut){ -// halftoneErrorDiffusion = checkAndLoadImagePlugin(halftoneErrorDiffusion, "org.marvinproject.image.halftone.errorDiffusion"); -// halftoneErrorDiffusion.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | HALFTONE RAYLANDERS -// ==============================================================================================*/ -// /** -// * Image halftone using raylander's approach -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void halftoneRaylanders(MarvinImage imageIn, MarvinImage imageOut){ -// halftoneRylanders = checkAndLoadImagePlugin(halftoneRylanders, "org.marvinproject.image.halftone.rylanders"); -// halftoneRylanders.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | HARRIS CORNER -// ==============================================================================================*/ -// /** -// * Harris corner detector -// * @param imageIn input image -// * @param matrixSize matrix size -// * @param threshold corners estimation threshold -// * @param k param k -// */ -// public static void harrisCorner(MarvinImage imageIn, int matrixSize, int threshold, double k){ -// harris = checkAndLoadImagePlugin(harris, "org.marvinproject.image.corner.harris"); -// harris.setAttribute("matrixSize", matrixSize); -// harris.setAttribute("threshold", threshold); -// harris.setAttribute("k", k); -// harris.process(imageIn, imageIn); -// } -// -// /*============================================================================================== -// | HISTOGRAM EQUALIZATION -// ==============================================================================================*/ -// /** -// * Histogram based image equalization. -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void histogramEqualization(MarvinImage imageIn, MarvinImage imageOut){ -// histogramEqualization = checkAndLoadImagePlugin(histogramEqualization, "org.marvinproject.image.equalization.histogramEqualization"); -// histogramEqualization.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | INVERT COLORS -// ==============================================================================================*/ -// /** -// * Inverts image colors. -// * @param imageIn input image -// */ -// public static void invertColors(MarvinImage image){ -// invertColors(image, image); -// } -// -// /** -// * Inverts image colors. -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void invertColors(MarvinImage imageIn, MarvinImage imageOut){ -// invertColors(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Inverts image colors. -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void invertColors(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// invertColors = checkAndLoadImagePlugin(invertColors, "org.marvinproject.image.color.invert"); -// invertColors.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | MERGE PHOTOS -// ==============================================================================================*/ -// /** -// * Merge multiple photos from the same scene. -// * @param images input image -// * @param imageOut output image -// * @param threshold threshold considering in pixel comparison. -// */ -// public static void mergePhotos(List images, MarvinImage imageOut, int threshold){ -// mergePhotos = checkAndLoadImagePlugin(mergePhotos, "org.marvinproject.image.combine.mergePhotos"); -// mergePhotos.setAttribute("threshold", threshold); -// mergePhotos.process(images, imageOut); -// } -// -// /*============================================================================================== -// | MORAVEC -// ==============================================================================================*/ -// /** -// * Moravec corner detection -// * @param imageIn input image -// * @param imageOut output image -// * @param matrixSize matrix size -// * @param threshold corners estimation threshold -// * @return cornerness map -// */ -// public static int[][] moravec(MarvinImage imageIn, MarvinImage imageOut, int matrixSize, int threshold){ -// moravec = checkAndLoadImagePlugin(moravec, "org.marvinproject.image.corner.moravec"); -// moravec.setAttribute("matrixSize", matrixSize); -// moravec.setAttribute("threshold", threshold); -// MarvinAttributes ret = new MarvinAttributes(); -// moravec.process(imageIn, imageOut, ret); -// return (int[][])ret.get("cornernessMap"); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL BOUNDARY -// ==============================================================================================*/ -// /** -// * Morphological boundary operation -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void morphologicalBoundary(MarvinImage imageIn, MarvinImage imageOut){ -// morphologicalBoundary = checkAndLoadImagePlugin(morphologicalBoundary, "org.marvinproject.image.morphological.boundary"); -// morphologicalBoundary.setAttribute("matrix", boolean_3x3); -// morphologicalBoundary.process(imageIn, imageOut); -// } -// -// /** -// * Morphological boundary operation -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix operation matrix. -// */ -// public static void morphologicalBoundary(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ -// morphologicalBoundary = checkAndLoadImagePlugin(morphologicalBoundary, "org.marvinproject.image.morphological.boundary"); -// morphologicalBoundary.setAttribute("matrix", matrix); -// morphologicalBoundary.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL CLOSING -// ==============================================================================================*/ -// /** -// * Morphological closing operation -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix matrix -// */ -// public static void morphologicalClosing(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ -// morphologicalClosing = checkAndLoadImagePlugin(morphologicalClosing, "org.marvinproject.image.morphological.closing"); -// morphologicalClosing.setAttribute("matrix", matrix); -// morphologicalClosing.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL DILATION -// ==============================================================================================*/ -// /** -// * Morphological dilation operation -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix matrix -// */ -// public static void morphologicalDilation(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ -// morphologicalDilation = checkAndLoadImagePlugin(morphologicalDilation, "org.marvinproject.image.morphological.dilation"); -// morphologicalDilation.setAttribute("matrix", matrix); -// morphologicalDilation.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL EROSION -// ==============================================================================================*/ -// /** -// * Morphological erosion operation -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix matrix -// */ -// public static void morphologicalErosion(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ -// morphologicalErosion = checkAndLoadImagePlugin(morphologicalErosion, "org.marvinproject.image.morphological.erosion"); -// morphologicalErosion.setAttribute("matrix", matrix); -// morphologicalErosion.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL OPENING -// ==============================================================================================*/ -// /** -// * Morphological opening operation -// * @param imageIn input image -// * @param imageOut output image -// * @param matrix matrix -// */ -// public static void morphologicalOpening(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ -// morphologicalOpening = checkAndLoadImagePlugin(morphologicalOpening, "org.marvinproject.image.morphological.opening"); -// morphologicalOpening.setAttribute("matrix", matrix); -// morphologicalOpening.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MORPHOLOCIAL THINNING -// ==============================================================================================*/ -// /** -// * Morphological thinning operation -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void morphologicalThinning(MarvinImage imageIn, MarvinImage imageOut){ -// morphologicalThinning = checkAndLoadImagePlugin(morphologicalThinning, "org.marvinproject.image.morphological.thinning"); -// morphologicalThinning.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | MOSAIC -// ==============================================================================================*/ -// /** -// * Mosaic artistic filter -// * @param imageIn input image -// * @param imageOut output image -// * @param shape shape ("squares", "triangles") -// * @param width mosaic width -// * @param border has border? -// */ -// public static void mosaic(MarvinImage imageIn, MarvinImage imageOut, String shape, int width, boolean border){ -// mosaic = checkAndLoadImagePlugin(mosaic, "org.marvinproject.image.artistic.mosaic"); -// mosaic.setAttribute("shape", shape); -// mosaic.setAttribute("width", width); -// mosaic.setAttribute("border", border); -// mosaic.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | PIXELIZE -// ==============================================================================================*/ -// public static void pixelize(MarvinImage imageIn, MarvinImage imageOut, int squareSide){ -// pixelize(imageIn, imageOut, squareSide, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Pixelize filter -// * @param imageIn input image -// * @param imageOut output image -// * @param squareSide square side -// * @param mask pixel mask -// */ -// public static void pixelize(MarvinImage imageIn, MarvinImage imageOut, int squareSide, MarvinImageMask mask){ -// pixelize = checkAndLoadImagePlugin(pixelize, "org.marvinproject.image.blur.pixelize"); -// pixelize.setAttribute("squareSide", squareSide); -// pixelize.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | PREWITT -// ==============================================================================================*/ -// public static void prewitt(MarvinImage imageIn, MarvinImage imageOut){ -// prewitt(imageIn, imageOut, 1, MarvinImageMask.NULL_MASK); -// } -// -// public static void prewitt(MarvinImage imageIn, MarvinImage imageOut, double intensity){ -// prewitt(imageIn, imageOut, intensity, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Edge detection using prewitt approach -// * @param imageIn input image -// * @param imageOut output image -// * @param intensity edge intensity -// * @param mask pixel mask -// */ -// public static void prewitt(MarvinImage imageIn, MarvinImage imageOut, double intensity, MarvinImageMask mask){ -// prewitt = checkAndLoadImagePlugin(prewitt, "org.marvinproject.image.edge.prewitt"); -// prewitt.setAttribute("intensity", intensity); -// prewitt.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | QUANTIZATION GRAY SCALE -// ==============================================================================================*/ -// /** -// * Gray scale color quantization -// * @param imageIn input image -// * @param imageOut output image -// * @param shades number of shades of gray -// */ -// public static void quantizationGrayScale(MarvinImage imageIn, MarvinImage imageOut, int shades){ -// quantizationGrayScale = checkAndLoadImagePlugin(quantizationGrayScale, "org.marvinproject.image.quantization.grayScaleQuantization"); -// quantizationGrayScale.setAttributes("shades", shades); -// quantizationGrayScale.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | ROBERTS -// ==============================================================================================*/ -// /** -// * Edge detection using roberts approach -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void roberts(MarvinImage imageIn, MarvinImage imageOut){ -// roberts(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Edge detection using roberts approach -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void roberts(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// roberts = checkAndLoadImagePlugin(roberts, "org.marvinproject.image.edge.roberts"); -// roberts.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | SCALE -// ==============================================================================================*/ -// /** -// * Scale image. -// * @param imageIn input image -// * @param imageOut output image -// * @param width new width -// * @param height new height -// */ -// public static void scale(MarvinImage imageIn, MarvinImage imageOut, int width, int height){ -// scale = checkAndLoadImagePlugin(roberts, "org.marvinproject.image.transform.scale"); -// scale.setAttribute("newWidth", width); -// scale.setAttribute("newHeight", height); -// scale.process(imageIn, imageOut); -// } -// -// /** -// * Scale image. -// * @param imageIn input image -// * @param imageOut output image -// * @param width new width. Height is set to be proportional to the original image aspect. -// */ -// public static void scale(MarvinImage imageIn, MarvinImage imageOut, int width){ -// int cWidth = imageIn.getWidth(); -// int cHeight = imageIn.getHeight(); -// double cFactor = (double)cHeight/cWidth; -// int newHeight= (int)Math.ceil(cFactor*width); -// scale(imageIn, imageOut, width, newHeight); -// } -// -// -// /*============================================================================================== -// | SEPIA -// ==============================================================================================*/ -// -// /** -// * Sepia filter -// * @param imageIn input image -// * @param intensity filter intensity -// */ -// public static void sepia(MarvinImage image, int intensity){ -// sepia(image, image, intensity); -// } -// -// /** -// * Sepia filter -// * @param imageIn input image -// * @param imageOut output image -// * @param intensity filter intensity -// */ -// public static void sepia(MarvinImage imageIn, MarvinImage imageOut, int intensity){ -// sepia(imageIn, imageOut, intensity, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Sepia filter -// * @param imageIn input image -// * @param imageOut output image -// * @param intensity filter intensity -// * @param mask pixel mask. -// */ -// public static void sepia(MarvinImage imageIn, MarvinImage imageOut, int intensity, MarvinImageMask mask){ -// sepia = checkAndLoadImagePlugin(sepia, "org.marvinproject.image.color.sepia"); -// sepia.setAttribute("intensity", intensity); -// sepia.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | SOBEL -// ==============================================================================================*/ -// /** -// * Edge detection using sobel approach -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void sobel(MarvinImage imageIn, MarvinImage imageOut){ -// sobel(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Edge detection using sobel approach -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void sobel(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// sobel = checkAndLoadImagePlugin(sobel, "org.marvinproject.image.edge.sobel"); -// sobel.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | SKIN COLOR DETECTION -// ==============================================================================================*/ -// -// /** -// * Human skin color filter. -// * @param imageIn input image -// */ -// public static void skinColorDetection(MarvinImage image){ -// skinColorDetection(image, image); -// } -// -// /** -// * Human skin color filter. -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void skinColorDetection(MarvinImage imageIn, MarvinImage imageOut){ -// skinColorDetection(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Human skin color filter. -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void skinColorDetection(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// skinColorDetection = checkAndLoadImagePlugin(skinColorDetection, "org.marvinproject.image.color.skinColorDetection"); -// skinColorDetection.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | SUSAN CORNER -// ==============================================================================================*/ -// /** -// * Corner detection using susan approach -// * @param imageIn input image -// * @param matrixSize matrix size -// * @param threshold corner estimation threshold -// */ -// public static void susanCorner(MarvinImage imageIn, int matrixSize, int threshold){ -// susan = checkAndLoadImagePlugin(susan, "org.marvinproject.image.corner.susan"); -// susan.setAttribute("matrixSize", matrixSize); -// susan.setAttribute("threshold", threshold); -// susan.process(imageIn, imageIn); -// } -// -// /*============================================================================================== -// | TELEVISION -// ==============================================================================================*/ -// /** -// * Television artisic filter -// * @param imageIn input image -// */ -// public static void television(MarvinImage image){ -// television(image, image); -// } -// -// /** -// * Television artisic filter -// * @param imageIn input image -// * @param imageOut output image -// */ -// public static void television(MarvinImage imageIn, MarvinImage imageOut){ -// television(imageIn, imageOut, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Television artisic filter -// * @param imageIn input image -// * @param imageOut output image -// * @param mask pixel mask -// */ -// public static void television(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ -// television = checkAndLoadImagePlugin(television, "org.marvinproject.image.artistic.television"); -// television.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | THRESHOLDING -// ==============================================================================================*/ -// /** -// * Converts pixels to black and white given a threshold -// * @param imageIn input image -// * @param threshold threshold -// */ -// public static void thresholding(MarvinImage image, int threshold){ -// thresholding(image, image, threshold); -// } -// -// /** -// * Converts pixels to black and white given a threshold -// * @param imageIn input image -// * @param threshold threshold -// * @param thresholdRange threshold values range -// */ -// public static void thresholding(MarvinImage image, int threshold, int thresholdRange){ -// thresholding(image, image, threshold, thresholdRange); -// } -// -// /** -// * Converts pixels to black and white given a threshold -// * @param imageIn input image -// * @param imageOut output image -// * @param threshold threshold -// */ -// public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold){ -// thresholding(imageIn, imageOut, threshold, -1); -// } -// -// /** -// * Converts pixels to black and white given a threshold -// * @param imageIn input image -// * @param imageOut output image -// * @param threshold threshold -// * @param thresholdRange threshold values range -// */ -// public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold, int thresholdRange){ -// thresholding(imageIn, imageOut, threshold, thresholdRange, MarvinImageMask.NULL_MASK); -// } -// -// /** -// * Converts pixels to black and white given a threshold -// * @param imageIn input image -// * @param imageOut output image -// * @param threshold threshold -// * @param thresholdRange threshold values range -// * @param mask pixel mask -// */ -// public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold, int thresholdRange, MarvinImageMask mask){ -// thresholding = checkAndLoadImagePlugin(thresholding, "org.marvinproject.image.color.thresholding"); -// thresholding.setAttribute("threshold",threshold); -// thresholding.setAttribute("thresholdRange",thresholdRange); -// thresholding.process(imageIn, imageOut, mask); -// } -// -// /*============================================================================================== -// | THRESHOLDING NEIGHBORHOOD -// ==============================================================================================*/ -// /** -// * Converts pixels to black and white considering a threshold to the average intensity of pixel neighbors -// * @param imageIn input image -// * @param imageOut output image -// * @param thresholdPercentageOfAverage threshold percentage of average intensity [0, 1.0] -// * @param neighborhoodSide side of the neighborhood square -// * @param samplingPixelDistance 1 to process every pixel, higher values to skip pixels in the sampling process. -// */ -// public static void thresholdingNeighborhood(MarvinImage imageIn, MarvinImage imageOut, double thresholdPercentageOfAverage, int neighborhoodSide, int samplingPixelDistance){ -// thresholdingNeighborhood = checkAndLoadImagePlugin(thresholding, "org.marvinproject.image.color.thresholdingNeighborhood"); -// thresholdingNeighborhood.setAttribute("thresholdPercentageOfAverage",thresholdPercentageOfAverage); -// thresholdingNeighborhood.setAttribute("neighborhoodSide",neighborhoodSide); -// thresholdingNeighborhood.setAttribute("samplingPixelDistance",samplingPixelDistance); -// thresholdingNeighborhood.process(imageIn, imageOut); -// } -// -// /*============================================================================================== -// | THUMBNAIL -// ==============================================================================================*/ -// public static void thumbnailByWidth(MarvinImage imageIn, MarvinImage imageOut, int newWidth){ -// scale(imageIn, imageOut, newWidth); -// } -// -// public static void thumbnailByHeight(MarvinImage imageIn, MarvinImage imageOut, int newHeight){ -// double factor = (double)imageIn.getWidth()/imageIn.getHeight(); -// int newWidth = (int)(newHeight * factor); -// scale(imageIn, imageOut, newWidth); -// } -// -// /*============================================================================================== -// | WATERSHED -// ==============================================================================================*/ -// /** -// * Watershed transform -// * @param imageIn input image -// * @return -// */ -// public static int[][] watershed(MarvinImage imageIn){ -// watershed = checkAndLoadImagePlugin(watershed, "org.marvinproject.image.transform.watershed"); -// MarvinAttributes attr = new MarvinAttributes(); -// thresholding.process(imageIn, imageIn, attr); -// return (int[][])attr.get("labels"); -// } -// -// private static MarvinImagePlugin checkAndLoadImagePlugin(MarvinImagePlugin ref, String pluginCanonicalName){ -// // Plug-in already loaded -// if(ref != null){ -// return ref; -// } -// return MarvinPluginLoader.loadImagePlugin(pluginCanonicalName); -// } -//} diff --git a/marvinproject/dev/MarvinPlugins/.gitignore b/marvinproject/dev/MarvinPlugins/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/marvinproject/dev/MarvinPlugins/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/marvinproject/dev/MarvinPlugins/.project b/marvinproject/dev/MarvinPlugins/.project deleted file mode 100644 index 35cb0b4..0000000 --- a/marvinproject/dev/MarvinPlugins/.project +++ /dev/null @@ -1,30 +0,0 @@ - - - MarvinPlugins - - - MarvinFramework - - - - org.eclipse.jdt.core.javabuilder - - - - - net.sourceforge.metrics.builder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature - - diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar deleted file mode 100644 index 0dc4c7e..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.television.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.television.jar deleted file mode 100644 index bad8cc5..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.artistic.television.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar deleted file mode 100644 index 9dce87f..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar deleted file mode 100644 index a51fb09..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar deleted file mode 100644 index a385e9b..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar deleted file mode 100644 index ec0bf27..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar deleted file mode 100644 index 954f7ae..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar deleted file mode 100644 index fded99d..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar deleted file mode 100644 index 09737ff..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar deleted file mode 100644 index 2146373..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.emboss.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.emboss.jar deleted file mode 100644 index 040db78..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.emboss.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar deleted file mode 100644 index a5f6774..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.invert.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.invert.jar deleted file mode 100644 index 605c581..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.invert.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.sepia.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.sepia.jar deleted file mode 100644 index 22bb3e0..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.sepia.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar deleted file mode 100644 index 0639b08..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar deleted file mode 100644 index 62bcff3..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar deleted file mode 100644 index 9c0dbe2..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar deleted file mode 100644 index 817297c..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar deleted file mode 100644 index 1b6d2c3..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar deleted file mode 100644 index 24235cb..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.convolution.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.convolution.jar deleted file mode 100644 index 3bd7250..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.convolution.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.harris.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.harris.jar deleted file mode 100644 index 0180e38..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.harris.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar deleted file mode 100644 index c6a9ef1..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.susan.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.susan.jar deleted file mode 100644 index 4f77778..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.corner.susan.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar deleted file mode 100644 index 969d023..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar deleted file mode 100644 index 79c834a..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar deleted file mode 100644 index 74c0caa..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar deleted file mode 100644 index c29526e..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar deleted file mode 100644 index 59e68ed..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar deleted file mode 100644 index f506570..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar deleted file mode 100644 index 9780a63..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar deleted file mode 100644 index 8faf166..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar deleted file mode 100644 index 426b5bb..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar deleted file mode 100644 index 3000cc3..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar deleted file mode 100644 index 09ebd47..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar deleted file mode 100644 index 81d5ab0..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar deleted file mode 100644 index c209e93..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar deleted file mode 100644 index 91ee401..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar deleted file mode 100644 index 6e59c5d..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar deleted file mode 100644 index 60e0ed6..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar deleted file mode 100644 index 6882aca..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar deleted file mode 100644 index 680ef40..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar deleted file mode 100644 index ad104e4..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar deleted file mode 100644 index 2ce6d97..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar deleted file mode 100644 index 0679e16..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar deleted file mode 100644 index d90b58d..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar deleted file mode 100644 index 662f4ee..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar deleted file mode 100644 index ceed1ff..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar deleted file mode 100644 index 78e858a..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar deleted file mode 100644 index 15c8b0b..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar deleted file mode 100644 index 8d403ec..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar deleted file mode 100644 index 6758bb4..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar deleted file mode 100644 index af7f531..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar deleted file mode 100644 index 397ce83..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar deleted file mode 100644 index 9768a44..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar deleted file mode 100644 index 618ceba..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar deleted file mode 100644 index 63c0f5a..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar deleted file mode 100644 index 0809cf0..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.text.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.text.jar deleted file mode 100644 index cd2a577..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.render.text.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar deleted file mode 100644 index 6a45cd9..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar deleted file mode 100644 index 15cf0ae..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar deleted file mode 100644 index a199a31..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar deleted file mode 100644 index bdb9964..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar deleted file mode 100644 index c11bc8d..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.median.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.median.jar deleted file mode 100644 index fca64a5..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.median.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar deleted file mode 100644 index 1f9f0cf..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar deleted file mode 100644 index 1b80da9..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.steganography.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.steganography.jar deleted file mode 100644 index a8c702d..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.steganography.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.subtract.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.subtract.jar deleted file mode 100644 index 9b3a9a0..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.subtract.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar deleted file mode 100644 index 6d452d6..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.plugin.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.plugin.jar deleted file mode 100644 index fb7cd45..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.test.plugin.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar deleted file mode 100644 index 09a6d52..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.flip.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.flip.jar deleted file mode 100644 index a2be3d6..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.flip.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar deleted file mode 100644 index 0bc69b6..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.scale.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.scale.jar deleted file mode 100644 index fd4a422..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.scale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.skew.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.skew.jar deleted file mode 100644 index 517d35b..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.skew.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar deleted file mode 100644 index d95f204..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.ml.kmeans.jar b/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.ml.kmeans.jar deleted file mode 100644 index 4e5ac8a..0000000 Binary files a/marvinproject/dev/MarvinPlugins/marvin/plugins/image/org.marvinproject.ml.kmeans.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/pom.xml b/marvinproject/dev/MarvinPlugins/pom.xml deleted file mode 100644 index bafa76f..0000000 --- a/marvinproject/dev/MarvinPlugins/pom.xml +++ /dev/null @@ -1,19 +0,0 @@ - - 4.0.0 - MarvinPlugins - MarvinPlugins - 1 - - src - - - maven-compiler-plugin - 3.1 - - 1.7 - 1.7 - - - - - \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/res/senna.jpg b/marvinproject/dev/MarvinPlugins/res/senna.jpg deleted file mode 100644 index f9a20cf..0000000 Binary files a/marvinproject/dev/MarvinPlugins/res/senna.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/res/tucano.jpg b/marvinproject/dev/MarvinPlugins/res/tucano.jpg deleted file mode 100644 index 8a27237..0000000 Binary files a/marvinproject/dev/MarvinPlugins/res/tucano.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinPlugins/src/marvinplugins/MarvinPluginCollection.java b/marvinproject/dev/MarvinPlugins/src/marvinplugins/MarvinPluginCollection.java deleted file mode 100644 index fd49144..0000000 --- a/marvinproject/dev/MarvinPlugins/src/marvinplugins/MarvinPluginCollection.java +++ /dev/null @@ -1,1296 +0,0 @@ -package marvinplugins; - -import java.awt.Color; -import java.util.List; - -import marvin.image.MarvinBlobSegment; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.image.MarvinSegment; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.artistic.mosaic.Mosaic; -import org.marvinproject.image.artistic.television.Television; -import org.marvinproject.image.background.determineSceneBackground.DetermineSceneBackground; -import org.marvinproject.image.blur.gaussianBlur.GaussianBlur; -import org.marvinproject.image.blur.pixelize.Pixelize; -import org.marvinproject.image.color.alphaBoundary.AlphaBoundary; -import org.marvinproject.image.color.blackAndWhite.BlackAndWhite; -import org.marvinproject.image.color.brightnessAndContrast.BrightnessAndContrast; -import org.marvinproject.image.color.colorChannel.ColorChannel; -import org.marvinproject.image.color.emboss.Emboss; -import org.marvinproject.image.color.grayScale.GrayScale; -import org.marvinproject.image.color.invert.Invert; -import org.marvinproject.image.color.sepia.Sepia; -import org.marvinproject.image.color.skinColorDetection.SkinColorDetection; -import org.marvinproject.image.color.thresholding.Thresholding; -import org.marvinproject.image.color.thresholdingNeighborhood.ThresholdingNeighborhood; -import org.marvinproject.image.combine.combineByMask.CombineByMask; -import org.marvinproject.image.combine.combineByTransparency.CombineByTransparency; -import org.marvinproject.image.combine.mergePhotos.MergePhotos; -import org.marvinproject.image.convolution.Convolution; -import org.marvinproject.image.corner.harris.Harris; -import org.marvinproject.image.corner.moravec.Moravec; -import org.marvinproject.image.corner.susan.Susan; -import org.marvinproject.image.edge.prewitt.Prewitt; -import org.marvinproject.image.edge.roberts.Roberts; -import org.marvinproject.image.edge.sobel.Sobel; -import org.marvinproject.image.equalization.histogramEqualization.HistogramEqualization; -import org.marvinproject.image.fill.boundaryFill.BoundaryFill; -import org.marvinproject.image.halftone.circles.Circles; -import org.marvinproject.image.halftone.dithering.Dithering; -import org.marvinproject.image.halftone.errorDiffusion.ErrorDiffusion; -import org.marvinproject.image.halftone.rylanders.Rylanders; -import org.marvinproject.image.morphological.boundary.Boundary; -import org.marvinproject.image.morphological.closing.Closing; -import org.marvinproject.image.morphological.dilation.Dilation; -import org.marvinproject.image.morphological.erosion.Erosion; -import org.marvinproject.image.morphological.opening.Opening; -import org.marvinproject.image.morphological.thinning.Thinning; -import org.marvinproject.image.pattern.findSubimage.FindSubimage; -import org.marvinproject.image.pattern.findTextRegions.FindTextRegions; -import org.marvinproject.image.quantization.grayScaleQuantization.GrayScaleQuantization; -import org.marvinproject.image.segmentation.crop.Crop; -import org.marvinproject.image.segmentation.floodfillSegmentation.FloodfillSegmentation; -import org.marvinproject.image.transform.flip.Flip; -import org.marvinproject.image.transform.scale.Scale; -import org.marvinproject.image.transform.watershed.Watershed; - -public class MarvinPluginCollection { - - private static MarvinImagePlugin alphaBoundary, - blackAndWhite, - brightnessAndContrast, - boundaryFill, - colorChannel, - combineByMask, - combineByTransparency, - convolution, - crop, - determineSceneBackground, - emboss, - findSubimage, - findTextRegions, - flip, - floodfillSegmentation, - gaussianBlur, - grayScale, - harris, - histogramEqualization, - halftoneCircles, - halftoneDithering, - halftoneErrorDiffusion, - halftoneRylanders, - imageSlicer, - invertColors, - iteratedFuncionSystems, - juliaSet, - lindenmayer, - mandelbrot, - mergePhotos, - moravec, - morphologicalBoundary, - morphologicalClosing, - morphologicalDilation, - morphologicalErosion, - morphologicalOpening, - morphologicalThinning, - mosaic, - pixelize, - prewitt, - quantizationGrayScale, - roberts, - rotate, - scale, - sobel, - skew, - sepia, - statisticalMaximum, - statisticalMedian, - statisticalMinimum, - statisticalMode, - subtract, - susan, - skinColorDetection, - television, - tileTexture, - thresholding, - thresholdingNeighborhood, - watershed; - - private static boolean[][] boolean_3x3 = new boolean[][]{ - {true,true,true}, - {true,true,true}, - {true,true,true} - }; - - /*============================================================================================== - | ALPHA BOUNDARY - ==============================================================================================*/ - /** - * Applies a gradient transparency to boundary pixels - * @param imageIn input image - * @param radius transparency radius - */ - public static void alphaBoundary(MarvinImage imageIn, int radius){ - alphaBoundary(imageIn.clone(), imageIn, radius); - } - - /** - * Applies a gradient transparency to boundary pixels - * @param imageIn input image - * @param imageOut output image - * @param radius transparency radius - */ - public static void alphaBoundary(MarvinImage imageIn, MarvinImage imageOut, int radius){ - alphaBoundary = checkAndLoadImagePlugin(alphaBoundary, AlphaBoundary.class); - alphaBoundary.setAttribute("radius", radius); - alphaBoundary.process(imageIn, imageOut); - } - - /*============================================================================================== - | BLACK AND WHITE - ==============================================================================================*/ - - /** - * Converts image to black and white. - * @param imageIn input image - * @param level black and white level - */ - public static void blackAndWhite(MarvinImage image, int level){ - blackAndWhite(image, image, level); - } - - /** - * Converts image to black and white. - * @param imageIn input image - * @param imageOut output image - * @param level black and white level - */ - public static void blackAndWhite(MarvinImage imageIn, MarvinImage imageOut, int level){ - blackAndWhite(imageIn, imageOut, level, MarvinImageMask.NULL_MASK); - } - - /** - * Converts image to black and white. - * @param imageIn input image - * @param imageOut output image - * @param level black and white level - * @param mask pixel mask - */ - public static void blackAndWhite(MarvinImage imageIn, MarvinImage imageOut, int level, MarvinImageMask mask){ - blackAndWhite = checkAndLoadImagePlugin(blackAndWhite, BlackAndWhite.class); - blackAndWhite.setAttribute("level", level); - blackAndWhite.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | BOUNDARY FILL - ==============================================================================================*/ - /** - * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. - * @param imageIn input image - * @param imageOut output image - * @param x fill start X - * @param y fill start Y - * @param color color - */ - public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color){ - boundaryFill(imageIn, imageOut, x, y, color, null, 0); - } - - /** - * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. - * @param imageIn input image - * @param imageOut output image - * @param x fill start X - * @param y fill start Y - * @param color color - * @param threshold accepted threshold to the specified color. - */ - public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color, int threshold){ - boundaryFill(imageIn, imageOut, x, y, color, null, threshold); - } - - /** - * Fills a closed region of an image, given a start x,y coordinate. The region might be filled with a color or a texture tile. - * @param imageIn input image - * @param imageOut output image - * @param x fill start X - * @param y fill start Y - * @param color color - * @param tile tile image for texture based filling - * @param threshold accepted threshold to the specified color. - */ - public static void boundaryFill(MarvinImage imageIn, MarvinImage imageOut, int x, int y, Color color, MarvinImage tile, int threshold){ - boundaryFill = checkAndLoadImagePlugin(boundaryFill, BoundaryFill.class); - boundaryFill.setAttribute("x", x); - boundaryFill.setAttribute("y", y); - boundaryFill.setAttribute("color", color); - boundaryFill.setAttribute("tile", tile); - boundaryFill.setAttribute("threshold", threshold); - boundaryFill.process(imageIn, imageOut); - } - - /*============================================================================================== - | BRIGHTNESS AND CONTRAST - ==============================================================================================*/ - /** - * Manipulate image brightness and contrast - * @param imageIn input image - * @param brightness brightness variation [-127, 127] - * @param contrast contrast variation [-127, 127] - */ - public static void brightnessAndContrast(MarvinImage image, int brightness, int contrast){ - brightnessAndContrast(image, image, brightness, contrast); - } - - /** - * Manipulate image brightness and contrast - * @param imageIn input image - * @param imageOut output image - * @param brightness brightness variation [-127, 127] - * @param contrast contrast variation [-127, 127] - */ - public static void brightnessAndContrast(MarvinImage imageIn, MarvinImage imageOut, int brightness, int contrast){ - brightnessAndContrast(imageIn, imageOut, brightness, contrast, MarvinImageMask.NULL_MASK); - } - - /** - * Manipulate image brightness and contrast - * @param imageIn input image - * @param imageOut output image - * @param brightness brightness variation [-127, 127] - * @param contrast contrast variation [-127, 127] - * @param mask pixel mask - */ - public static void brightnessAndContrast(MarvinImage imageIn, MarvinImage imageOut, int brightness, int contrast, MarvinImageMask mask){ - brightnessAndContrast = checkAndLoadImagePlugin(brightnessAndContrast, BrightnessAndContrast.class); - brightnessAndContrast.setAttribute("brightness", brightness); - brightnessAndContrast.setAttribute("contrast", contrast); - brightnessAndContrast.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | COMBINE BY MASK - ==============================================================================================*/ - /** - * Combine two images considering a given color as transparency. - * @param imageA input image A - * @param imageB input image B - * @param imageOut output image - * @param x position x of image B on image A - * @param y position y of image B on image A - * @param colorMask Transparent color - */ - public static void combineByMask(MarvinImage imageA, MarvinImage imageB, MarvinImage imageOut, int x, int y, Color colorMask){ - combineByMask = checkAndLoadImagePlugin(combineByMask, CombineByMask.class); - combineByMask.setAttribute("xi", x); - combineByMask.setAttribute("yi", y); - combineByMask.setAttribute("combinationImage", imageB); - combineByMask.setAttribute("colorMask", colorMask); - combineByMask.process(imageA, imageOut); - } - - /*============================================================================================== - | COMBINE BY TRANSPARENCY - ==============================================================================================*/ - /** - * Combine two images having transparency. - * @param imageA input image A - * @param imageB input image B - * @param imageOut output image - * @param x position x of image B on image A - * @param y position y of image B on image A - * @param transparency - */ - public static void combineByTransparency(MarvinImage imageA, MarvinImage imageB, MarvinImage imageOut, int x, int y, int transparency){ - combineByTransparency = checkAndLoadImagePlugin(combineByTransparency, CombineByTransparency.class); - combineByTransparency.setAttribute("xi", x); - combineByTransparency.setAttribute("yi", y); - combineByTransparency.setAttribute("combinationImage", imageB); - combineByTransparency.setAttribute("transparency", transparency); - combineByTransparency.process(imageA, imageOut); - } - - /*============================================================================================== - | CONVOLUTION - ==============================================================================================*/ - /** - * Convolution - * @param imageIn input image - * @param imageOut output image - * @param matrix convolution matrix - */ - public static void convolution(MarvinImage imageIn, MarvinImage imageOut, double[][] matrix){ - convolution = checkAndLoadImagePlugin(convolution, Convolution.class); - convolution.setAttribute("matrix", matrix); - convolution.process(imageIn, imageOut); - } - - /*============================================================================================== - | COLOR CHANNEL - ==============================================================================================*/ - - /** - * Manipulates image color channels - * @param imageIn input image - * @param red red manipulation [-100, 100] - * @param green green manipulation [-100, 100] - * @param blue blue manipulation [-100, 100] - */ - public static void colorChannel(MarvinImage image, int red, int green, int blue){ - colorChannel(image, image, red, green, blue); - } - - /** - * Manipulates image color channels - * @param imageIn input image - * @param imageOut output image - * @param red red manipulation [-100, 100] - * @param green green manipulation [-100, 100] - * @param blue blue manipulation [-100, 100] - */ - public static void colorChannel(MarvinImage imageIn, MarvinImage imageOut, int red, int green, int blue){ - colorChannel(imageIn, imageOut, red, green, blue, MarvinImageMask.NULL_MASK); - } - - /** - * Manipulates image color channels - * @param imageIn input image - * @param imageOut output image - * @param red red manipulation [-100, 100] - * @param green green manipulation [-100, 100] - * @param blue blue manipulation [-100, 100] - * @param mask pixel mask - */ - public static void colorChannel(MarvinImage imageIn, MarvinImage imageOut, int red, int green, int blue, MarvinImageMask mask){ - colorChannel = checkAndLoadImagePlugin(colorChannel, ColorChannel.class); - colorChannel.setAttribute("red", red); - colorChannel.setAttribute("green", green); - colorChannel.setAttribute("blue", blue); - colorChannel.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | CROP - ==============================================================================================*/ - /** - * Image cropping - * @param imageIn input image - * @param imageOut output image - * @param x subimage x - * @param y subimage y - * @param width subimage width - * @param height subimage height - */ - public static void crop(MarvinImage imageIn, MarvinImage imageOut, int x, int y, int width, int height){ - - x = Math.min(Math.max(x, 0), imageIn.getWidth()); - y = Math.min(Math.max(y, 0), imageIn.getHeight()); - - if(x + width > imageIn.getWidth()){ - width = imageIn.getWidth() - x; - } - if(y + height > imageIn.getHeight()){ - height = imageIn.getHeight() - y; - } - - crop = checkAndLoadImagePlugin(crop, Crop.class); - crop.setAttribute("x", x); - crop.setAttribute("y", y); - crop.setAttribute("width", width); - crop.setAttribute("height", height); - crop.process(imageIn, imageOut); - } - - /*============================================================================================== - | DETERMINE SCENE BACKGROUND - ==============================================================================================*/ - /** - * Estimate the background from a set of images from the same scene. - * @param images list of images from the same scene - * @param imageOut estimated background - * @param threshold threshold considered by the pixel comparison. - */ - public static void determineSceneBackground(List images, MarvinImage imageOut, int threshold){ - determineSceneBackground = checkAndLoadImagePlugin(determineSceneBackground, DetermineSceneBackground.class); - determineSceneBackground.setAttribute("threshold", threshold); - determineSceneBackground.process(images, imageOut); - } - - /*============================================================================================== - | FIND SUBIMAGE - ==============================================================================================*/ - /** - * Find instances of a given image in another image with perfect matching (exactly the same pixels value). - * @param subimage image to be found - * @param original input image - * @return list of image segments. - */ - public static List findAllSubimages(MarvinImage subimage, MarvinImage original){ - return findAllSubimages(subimage, original, 1.0); - } - - /** - * Find instances of a given image in another image. - * @param subimage image to be found - * @param original input image - * @param similarity match percentage [0.0, 1.0] - * @return list of image segments. - */ - public static List findAllSubimages(MarvinImage subimage, MarvinImage original, double similarity){ - findSubimage = checkAndLoadImagePlugin(flip, FindSubimage.class); - findSubimage.setAttribute("subimage", subimage); - findSubimage.setAttribute("similarity", similarity); - MarvinAttributes output = new MarvinAttributes(); - findSubimage.process(original, null, output); - return (List)output.get("matches"); - } - - /** - * Find the first instance of a given image in another image. - * @param subimage image to be found - * @param original input image - * @param startX search start x - * @param startY search start y - * @return the image segment of the first instance found. - */ - public static MarvinSegment findSubimage(MarvinImage subimage, MarvinImage original, int startX, int startY){ - return findSubimage(subimage, original, startX, startY, 1.0); - } - - /** - * Find the first instance of a given image in another image. - * @param subimage image to be found - * @param original input image - * @param startX search start x - * @param startY search start y - * @param similarity match percentage [0.0, 1.0] - * @return the image segment of the first instance found. - */ - public static MarvinSegment findSubimage(MarvinImage subimage, MarvinImage original, int startX, int startY, double similarity){ - findSubimage = checkAndLoadImagePlugin(flip, FindSubimage.class); - findSubimage.setAttribute("subimage", subimage); - findSubimage.setAttribute("similarity", similarity); - findSubimage.setAttribute("findAll", false); - findSubimage.setAttribute("startX", startX); - findSubimage.setAttribute("startY", startY); - MarvinAttributes output = new MarvinAttributes(); - findSubimage.process(original, null, output); - - List ret = (List)output.get("matches"); - if(ret.size() > 0){ - return ret.get(0); - } - return null; - } - - /*============================================================================================== - | FIND TEXT REGIONS - ==============================================================================================*/ - /** - * Find text regions in a given image. - * @param imageIn input image - * @param maxWhiteSpace max number of white pixels in the text pattern - * @param maxFontLineWidth max number of black pixels in the text pattern - * @param minTextWidth min text width in pixels - * @param grayScaleThreshold gray scale threshold for conveting image to black and white - * @return list of image segments containing texts. - */ - public static List findTextRegions(MarvinImage imageIn, int maxWhiteSpace, int maxFontLineWidth, int minTextWidth, int grayScaleThreshold){ - findTextRegions = checkAndLoadImagePlugin(findTextRegions, FindTextRegions.class); - findTextRegions.setAttribute("maxWhiteSpace", maxWhiteSpace); - findTextRegions.setAttribute("maxFontLineWidth", maxFontLineWidth); - findTextRegions.setAttribute("minTextWidth", minTextWidth); - findTextRegions.setAttribute("grayScaleThreshold", grayScaleThreshold); - MarvinAttributes output = new MarvinAttributes(); - findTextRegions.process(imageIn, null, output); - return (List)output.get("matches"); - } - - /*============================================================================================== - | EMBOSS - ==============================================================================================*/ - /** - * Emboss filter - * @param imageIn input image - * @param imageOut output image - */ - public static void emboss(MarvinImage imageIn, MarvinImage imageOut){ - emboss(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Emboss filter - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void emboss(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - emboss = checkAndLoadImagePlugin(emboss, Emboss.class); - emboss.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | FLIP - ==============================================================================================*/ - /** - * Flips the image horizontally - * @param imageIn input image - * @param imageOut output image - */ - public static void flipHorizontally(MarvinImage imageIn, MarvinImage imageOut){ - flip = checkAndLoadImagePlugin(flip, Flip.class); - flip.setAttribute("flip", "horizontal"); - flip.process(imageIn, imageOut); - } - - /** - * Flips the image vertically - * @param imageIn input image - * @param imageOut output image - */ - public static void flipVertically(MarvinImage imageIn, MarvinImage imageOut){ - flip = checkAndLoadImagePlugin(flip, Flip.class); - flip.setAttribute("flip", "vertical"); - flip.process(imageIn, imageOut); - } - - /*============================================================================================== - | FLOODFILL SEGMENTATION - ==============================================================================================*/ - public static MarvinSegment[] floodfillSegmentation(MarvinImage imageIn){ - floodfillSegmentation = checkAndLoadImagePlugin(floodfillSegmentation, FloodfillSegmentation.class); - floodfillSegmentation.setAttribute("returnType", "MarvinSegment"); - MarvinAttributes output = new MarvinAttributes(); - floodfillSegmentation.process(imageIn, null, output); - return (MarvinSegment[])output.get("segments"); - } - - public static MarvinBlobSegment[] floodfillSegmentationBlob(MarvinImage imageIn){ - floodfillSegmentation = checkAndLoadImagePlugin(floodfillSegmentation, FloodfillSegmentation.class); - floodfillSegmentation.setAttribute("returnType", "MarvinBlobSegment"); - MarvinAttributes output = new MarvinAttributes(); - floodfillSegmentation.process(imageIn, null, output); - return (MarvinBlobSegment[])output.get("blobSegments"); - } - - /*============================================================================================== - | GAUSSIAN BLUR - ==============================================================================================*/ - /** - * Gaussian blur filter - * @param imageIn input image - * @param imageOut output image - * @param radius blur radius - */ - public static void gaussianBlur(MarvinImage imageIn, MarvinImage imageOut, int radius){ - gaussianBlur(imageIn, imageOut, radius, MarvinImageMask.NULL_MASK); - } - - /** - * Gaussian blur filter - * @param imageIn input image - * @param imageOut output image - * @param radius blur radius - * @param mask pixel mask - */ - public static void gaussianBlur(MarvinImage imageIn, MarvinImage imageOut, int radius, MarvinImageMask mask){ - gaussianBlur = checkAndLoadImagePlugin(gaussianBlur, GaussianBlur.class); - gaussianBlur.setAttribute("radius", radius); - gaussianBlur.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | GRAY SCALE - ==============================================================================================*/ - /** - * Gray scale filter - * @param imageIn input image - */ - public static void grayScale(MarvinImage image){ - grayScale(image, image); - } - - /** - * Gray scale filter - * @param imageIn input image - * @param imageOut output image - */ - public static void grayScale(MarvinImage imageIn, MarvinImage imageOut){ - grayScale(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Gray scale filter - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void grayScale(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - grayScale = checkAndLoadImagePlugin(grayScale, GrayScale.class); - grayScale.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | HALFTONE CIRCLES - ==============================================================================================*/ - /** - * Image halftone using circles approach - * @param imageIn input image - * @param imageOut output image - * @param circleWidth circle max width - * @param shift circle shift - * @param circlesDistance circles minimum distance - * @param mask pixel mask - */ - public static void halftoneCircles(MarvinImage imageIn, MarvinImage imageOut, int circleWidth, int shift, int circlesDistance, MarvinImageMask mask){ - halftoneCircles = checkAndLoadImagePlugin(halftoneCircles, Circles.class); - halftoneCircles.setAttribute("circleWidth", circleWidth); - halftoneCircles.setAttribute("shift", shift); - halftoneCircles.setAttribute("circlesDistance", circlesDistance); - halftoneCircles.process(imageIn, imageOut, mask); - } - - /** - * Image halftone using circles approach - * @param imageIn input image - * @param imageOut output image - * @param circleWidth circle max width - * @param shift circle shift - * @param circlesDistance circles minimum distance - */ - public static void halftoneCircles(MarvinImage imageIn, MarvinImage imageOut, int circleWidth, int shift, int circlesDistance){ - halftoneCircles(imageIn, imageOut, circleWidth, shift, circlesDistance, MarvinImageMask.NULL_MASK); - } - - /*============================================================================================== - | HALFTONE DITHERING - ==============================================================================================*/ - /** - * Image halftone using dithering approach - * @param imageIn input image - * @param imageOut output image - */ - public static void halftoneDithering(MarvinImage imageIn, MarvinImage imageOut){ - halftoneDithering = checkAndLoadImagePlugin(halftoneDithering, Dithering.class); - halftoneDithering.process(imageIn, imageOut); - } - - /*============================================================================================== - | HALFTONE ERROR DIFFUSION - ==============================================================================================*/ - /** - * Image halftone using error diffusion approach - * @param imageIn input image - * @param imageOut output image - */ - public static void halftoneErrorDiffusion(MarvinImage imageIn, MarvinImage imageOut){ - halftoneErrorDiffusion = checkAndLoadImagePlugin(halftoneErrorDiffusion, ErrorDiffusion.class); - halftoneErrorDiffusion.process(imageIn, imageOut); - } - - /*============================================================================================== - | HALFTONE RAYLANDERS - ==============================================================================================*/ - /** - * Image halftone using raylander's approach - * @param imageIn input image - * @param imageOut output image - */ - public static void halftoneRaylanders(MarvinImage imageIn, MarvinImage imageOut){ - halftoneRylanders = checkAndLoadImagePlugin(halftoneRylanders, Rylanders.class); - halftoneRylanders.process(imageIn, imageOut); - } - - /*============================================================================================== - | HARRIS CORNER - ==============================================================================================*/ - /** - * Harris corner detector - * @param imageIn input image - * @param matrixSize matrix size - * @param threshold corners estimation threshold - * @param k param k - */ - public static void harrisCorner(MarvinImage imageIn, int matrixSize, int threshold, double k){ - harris = checkAndLoadImagePlugin(harris, Harris.class); - harris.setAttribute("matrixSize", matrixSize); - harris.setAttribute("threshold", threshold); - harris.setAttribute("k", k); - harris.process(imageIn, imageIn); - } - - /*============================================================================================== - | HISTOGRAM EQUALIZATION - ==============================================================================================*/ - /** - * Histogram based image equalization. - * @param imageIn input image - * @param imageOut output image - */ - public static void histogramEqualization(MarvinImage imageIn, MarvinImage imageOut){ - histogramEqualization = checkAndLoadImagePlugin(histogramEqualization, HistogramEqualization.class); - histogramEqualization.process(imageIn, imageOut); - } - - /*============================================================================================== - | INVERT COLORS - ==============================================================================================*/ - /** - * Inverts image colors. - * @param imageIn input image - */ - public static void invertColors(MarvinImage image){ - invertColors(image, image); - } - - /** - * Inverts image colors. - * @param imageIn input image - * @param imageOut output image - */ - public static void invertColors(MarvinImage imageIn, MarvinImage imageOut){ - invertColors(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Inverts image colors. - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void invertColors(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - invertColors = checkAndLoadImagePlugin(invertColors, Invert.class); - invertColors.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | MERGE PHOTOS - ==============================================================================================*/ - /** - * Merge multiple photos from the same scene. - * @param images input image - * @param imageOut output image - * @param threshold threshold considering in pixel comparison. - */ - public static void mergePhotos(List images, MarvinImage imageOut, int threshold){ - mergePhotos = checkAndLoadImagePlugin(mergePhotos, MergePhotos.class); - mergePhotos.setAttribute("threshold", threshold); - mergePhotos.process(images, imageOut); - } - - /*============================================================================================== - | MORAVEC - ==============================================================================================*/ - /** - * Moravec corner detection - * @param imageIn input image - * @param imageOut output image - * @param matrixSize matrix size - * @param threshold corners estimation threshold - * @return cornerness map - */ - public static int[][] moravec(MarvinImage imageIn, MarvinImage imageOut, int matrixSize, int threshold){ - moravec = checkAndLoadImagePlugin(moravec, Moravec.class); - moravec.setAttribute("matrixSize", matrixSize); - moravec.setAttribute("threshold", threshold); - MarvinAttributes ret = new MarvinAttributes(); - moravec.process(imageIn, imageOut, ret); - return (int[][])ret.get("cornernessMap"); - } - - /*============================================================================================== - | MORPHOLOCIAL BOUNDARY - ==============================================================================================*/ - /** - * Morphological boundary operation - * @param imageIn input image - * @param imageOut output image - */ - public static void morphologicalBoundary(MarvinImage imageIn, MarvinImage imageOut){ - morphologicalBoundary = checkAndLoadImagePlugin(morphologicalBoundary, Boundary.class); - morphologicalBoundary.setAttribute("matrix", boolean_3x3); - morphologicalBoundary.process(imageIn, imageOut); - } - - /** - * Morphological boundary operation - * @param imageIn input image - * @param imageOut output image - * @param matrix operation matrix. - */ - public static void morphologicalBoundary(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ - morphologicalBoundary = checkAndLoadImagePlugin(morphologicalBoundary, Boundary.class); - morphologicalBoundary.setAttribute("matrix", matrix); - morphologicalBoundary.process(imageIn, imageOut); - } - - /*============================================================================================== - | MORPHOLOCIAL CLOSING - ==============================================================================================*/ - /** - * Morphological closing operation - * @param imageIn input image - * @param imageOut output image - * @param matrix matrix - */ - public static void morphologicalClosing(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ - morphologicalClosing = checkAndLoadImagePlugin(morphologicalClosing, Closing.class); - morphologicalClosing.setAttribute("matrix", matrix); - morphologicalClosing.process(imageIn, imageOut); - } - - /*============================================================================================== - | MORPHOLOCIAL DILATION - ==============================================================================================*/ - /** - * Morphological dilation operation - * @param imageIn input image - * @param imageOut output image - * @param matrix matrix - */ - public static void morphologicalDilation(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ - morphologicalDilation = checkAndLoadImagePlugin(morphologicalDilation, Dilation.class); - morphologicalDilation.setAttribute("matrix", matrix); - morphologicalDilation.process(imageIn, imageOut); - } - - /*============================================================================================== - | MORPHOLOCIAL EROSION - ==============================================================================================*/ - /** - * Morphological erosion operation - * @param imageIn input image - * @param imageOut output image - * @param matrix matrix - */ - public static void morphologicalErosion(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ - morphologicalErosion = checkAndLoadImagePlugin(morphologicalErosion, Erosion.class); - morphologicalErosion.setAttribute("matrix", matrix); - morphologicalErosion.process(imageIn, imageOut); - } - - /*============================================================================================== - | MORPHOLOCIAL OPENING - ==============================================================================================*/ - /** - * Morphological opening operation - * @param imageIn input image - * @param imageOut output image - * @param matrix matrix - */ - public static void morphologicalOpening(MarvinImage imageIn, MarvinImage imageOut, boolean[][] matrix){ - morphologicalOpening = checkAndLoadImagePlugin(morphologicalOpening, Opening.class); - morphologicalOpening.setAttribute("matrix", matrix); - morphologicalOpening.process(imageIn, imageOut); - } - - /*============================================================================================== - | MORPHOLOCIAL THINNING - ==============================================================================================*/ - /** - * Morphological thinning operation - * @param imageIn input image - * @param imageOut output image - */ - public static void morphologicalThinning(MarvinImage imageIn, MarvinImage imageOut){ - morphologicalThinning = checkAndLoadImagePlugin(morphologicalThinning, Thinning.class); - morphologicalThinning.process(imageIn, imageOut); - } - - /*============================================================================================== - | MOSAIC - ==============================================================================================*/ - /** - * Mosaic artistic filter - * @param imageIn input image - * @param imageOut output image - * @param shape shape ("squares", "triangles") - * @param width mosaic width - * @param border has border? - */ - public static void mosaic(MarvinImage imageIn, MarvinImage imageOut, String shape, int width, boolean border){ - mosaic = checkAndLoadImagePlugin(mosaic, Mosaic.class); - mosaic.setAttribute("shape", shape); - mosaic.setAttribute("width", width); - mosaic.setAttribute("border", border); - mosaic.process(imageIn, imageOut); - } - - /*============================================================================================== - | PIXELIZE - ==============================================================================================*/ - public static void pixelize(MarvinImage imageIn, MarvinImage imageOut, int squareSide){ - pixelize(imageIn, imageOut, squareSide, MarvinImageMask.NULL_MASK); - } - - /** - * Pixelize filter - * @param imageIn input image - * @param imageOut output image - * @param squareSide square side - * @param mask pixel mask - */ - public static void pixelize(MarvinImage imageIn, MarvinImage imageOut, int squareSide, MarvinImageMask mask){ - pixelize = checkAndLoadImagePlugin(pixelize, Pixelize.class); - pixelize.setAttribute("squareSide", squareSide); - pixelize.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | PREWITT - ==============================================================================================*/ - public static void prewitt(MarvinImage imageIn, MarvinImage imageOut){ - prewitt(imageIn, imageOut, 1, MarvinImageMask.NULL_MASK); - } - - public static void prewitt(MarvinImage imageIn, MarvinImage imageOut, double intensity){ - prewitt(imageIn, imageOut, intensity, MarvinImageMask.NULL_MASK); - } - - /** - * Edge detection using prewitt approach - * @param imageIn input image - * @param imageOut output image - * @param intensity edge intensity - * @param mask pixel mask - */ - public static void prewitt(MarvinImage imageIn, MarvinImage imageOut, double intensity, MarvinImageMask mask){ - prewitt = checkAndLoadImagePlugin(prewitt, Prewitt.class); - prewitt.setAttribute("intensity", intensity); - prewitt.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | QUANTIZATION GRAY SCALE - ==============================================================================================*/ - /** - * Gray scale color quantization - * @param imageIn input image - * @param imageOut output image - * @param shades number of shades of gray - */ - public static void quantizationGrayScale(MarvinImage imageIn, MarvinImage imageOut, int shades){ - quantizationGrayScale = checkAndLoadImagePlugin(quantizationGrayScale, GrayScaleQuantization.class); - quantizationGrayScale.setAttributes("shades", shades); - quantizationGrayScale.process(imageIn, imageOut); - } - - /*============================================================================================== - | ROBERTS - ==============================================================================================*/ - /** - * Edge detection using roberts approach - * @param imageIn input image - * @param imageOut output image - */ - public static void roberts(MarvinImage imageIn, MarvinImage imageOut){ - roberts(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Edge detection using roberts approach - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void roberts(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - roberts = checkAndLoadImagePlugin(roberts, Roberts.class); - roberts.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | SCALE - ==============================================================================================*/ - /** - * Scale image. - * @param imageIn input image - * @param imageOut output image - * @param width new width - * @param height new height - */ - public static void scale(MarvinImage imageIn, MarvinImage imageOut, int width, int height){ - scale = checkAndLoadImagePlugin(roberts, Scale.class); - scale.setAttribute("newWidth", width); - scale.setAttribute("newHeight", height); - scale.process(imageIn, imageOut); - } - - /** - * Scale image. - * @param imageIn input image - * @param imageOut output image - * @param width new width. Height is set to be proportional to the original image aspect. - */ - public static void scale(MarvinImage imageIn, MarvinImage imageOut, int width){ - int cWidth = imageIn.getWidth(); - int cHeight = imageIn.getHeight(); - double cFactor = (double)cHeight/cWidth; - int newHeight= (int)Math.ceil(cFactor*width); - scale(imageIn, imageOut, width, newHeight); - } - - - /*============================================================================================== - | SEPIA - ==============================================================================================*/ - - /** - * Sepia filter - * @param imageIn input image - * @param intensity filter intensity - */ - public static void sepia(MarvinImage image, int intensity){ - sepia(image, image, intensity); - } - - /** - * Sepia filter - * @param imageIn input image - * @param imageOut output image - * @param intensity filter intensity - */ - public static void sepia(MarvinImage imageIn, MarvinImage imageOut, int intensity){ - sepia(imageIn, imageOut, intensity, MarvinImageMask.NULL_MASK); - } - - /** - * Sepia filter - * @param imageIn input image - * @param imageOut output image - * @param intensity filter intensity - * @param mask pixel mask. - */ - public static void sepia(MarvinImage imageIn, MarvinImage imageOut, int intensity, MarvinImageMask mask){ - sepia = checkAndLoadImagePlugin(sepia, Sepia.class); - sepia.setAttribute("intensity", intensity); - sepia.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | SOBEL - ==============================================================================================*/ - /** - * Edge detection using sobel approach - * @param imageIn input image - * @param imageOut output image - */ - public static void sobel(MarvinImage imageIn, MarvinImage imageOut){ - sobel(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Edge detection using sobel approach - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void sobel(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - sobel = checkAndLoadImagePlugin(sobel, Sobel.class); - sobel.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | SKIN COLOR DETECTION - ==============================================================================================*/ - - /** - * Human skin color filter. - * @param imageIn input image - */ - public static void skinColorDetection(MarvinImage image){ - skinColorDetection(image, image); - } - - /** - * Human skin color filter. - * @param imageIn input image - * @param imageOut output image - */ - public static void skinColorDetection(MarvinImage imageIn, MarvinImage imageOut){ - skinColorDetection(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Human skin color filter. - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void skinColorDetection(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - skinColorDetection = checkAndLoadImagePlugin(skinColorDetection, SkinColorDetection.class); - skinColorDetection.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | SUSAN CORNER - ==============================================================================================*/ - /** - * Corner detection using susan approach - * @param imageIn input image - * @param matrixSize matrix size - * @param threshold corner estimation threshold - */ - public static void susanCorner(MarvinImage imageIn, int matrixSize, int threshold){ - susan = checkAndLoadImagePlugin(susan, Susan.class); - susan.setAttribute("matrixSize", matrixSize); - susan.setAttribute("threshold", threshold); - susan.process(imageIn, imageIn); - } - - /*============================================================================================== - | TELEVISION - ==============================================================================================*/ - /** - * Television artisic filter - * @param imageIn input image - */ - public static void television(MarvinImage image){ - television(image, image); - } - - /** - * Television artisic filter - * @param imageIn input image - * @param imageOut output image - */ - public static void television(MarvinImage imageIn, MarvinImage imageOut){ - television(imageIn, imageOut, MarvinImageMask.NULL_MASK); - } - - /** - * Television artisic filter - * @param imageIn input image - * @param imageOut output image - * @param mask pixel mask - */ - public static void television(MarvinImage imageIn, MarvinImage imageOut, MarvinImageMask mask){ - television = checkAndLoadImagePlugin(television, Television.class); - television.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | THRESHOLDING - ==============================================================================================*/ - /** - * Converts pixels to black and white given a threshold - * @param imageIn input image - * @param threshold threshold - */ - public static void thresholding(MarvinImage image, int threshold){ - thresholding(image, image, threshold); - } - - /** - * Converts pixels to black and white given a threshold - * @param imageIn input image - * @param threshold threshold - * @param thresholdRange threshold values range - */ - public static void thresholding(MarvinImage image, int threshold, int thresholdRange){ - thresholding(image, image, threshold, thresholdRange); - } - - /** - * Converts pixels to black and white given a threshold - * @param imageIn input image - * @param imageOut output image - * @param threshold threshold - */ - public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold){ - thresholding(imageIn, imageOut, threshold, -1); - } - - /** - * Converts pixels to black and white given a threshold - * @param imageIn input image - * @param imageOut output image - * @param threshold threshold - * @param thresholdRange threshold values range - */ - public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold, int thresholdRange){ - thresholding(imageIn, imageOut, threshold, thresholdRange, MarvinImageMask.NULL_MASK); - } - - /** - * Converts pixels to black and white given a threshold - * @param imageIn input image - * @param imageOut output image - * @param threshold threshold - * @param thresholdRange threshold values range - * @param mask pixel mask - */ - public static void thresholding(MarvinImage imageIn, MarvinImage imageOut, int threshold, int thresholdRange, MarvinImageMask mask){ - thresholding = checkAndLoadImagePlugin(thresholding, Thresholding.class); - thresholding.setAttribute("threshold",threshold); - thresholding.setAttribute("thresholdRange",thresholdRange); - thresholding.process(imageIn, imageOut, mask); - } - - /*============================================================================================== - | THRESHOLDING NEIGHBORHOOD - ==============================================================================================*/ - /** - * Converts pixels to black and white considering a threshold to the average intensity of pixel neighbors - * @param imageIn input image - * @param imageOut output image - * @param thresholdPercentageOfAverage threshold percentage of average intensity [0, 1.0] - * @param neighborhoodSide side of the neighborhood square - * @param samplingPixelDistance 1 to process every pixel, higher values to skip pixels in the sampling process. - */ - public static void thresholdingNeighborhood(MarvinImage imageIn, MarvinImage imageOut, double thresholdPercentageOfAverage, int neighborhoodSide, int samplingPixelDistance){ - thresholdingNeighborhood = checkAndLoadImagePlugin(thresholding, ThresholdingNeighborhood.class); - thresholdingNeighborhood.setAttribute("thresholdPercentageOfAverage",thresholdPercentageOfAverage); - thresholdingNeighborhood.setAttribute("neighborhoodSide",neighborhoodSide); - thresholdingNeighborhood.setAttribute("samplingPixelDistance",samplingPixelDistance); - thresholdingNeighborhood.process(imageIn, imageOut); - } - - /*============================================================================================== - | THUMBNAIL - ==============================================================================================*/ - public static void thumbnailByWidth(MarvinImage imageIn, MarvinImage imageOut, int newWidth){ - scale(imageIn, imageOut, newWidth); - } - - public static void thumbnailByHeight(MarvinImage imageIn, MarvinImage imageOut, int newHeight){ - double factor = (double)imageIn.getWidth()/imageIn.getHeight(); - int newWidth = (int)(newHeight * factor); - scale(imageIn, imageOut, newWidth); - } - - /*============================================================================================== - | WATERSHED - ==============================================================================================*/ - /** - * Watershed transform - * @param imageIn input image - * @return - */ - public static int[][] watershed(MarvinImage imageIn){ - watershed = checkAndLoadImagePlugin(watershed, Watershed.class); - MarvinAttributes attr = new MarvinAttributes(); - thresholding.process(imageIn, imageIn, attr); - return (int[][])attr.get("labels"); - } - - - private static MarvinImagePlugin checkAndLoadImagePlugin(MarvinImagePlugin ref, Class clazz){ - // Plug-in already loaded - if(ref != null){ - return ref; - } - try{ - MarvinImagePlugin plugin = clazz.getConstructor().newInstance(); - plugin.load(); - return plugin; - } catch(Exception e){ - /* Not expected to get here */ - e.printStackTrace(); - return null; - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/mosaic/Mosaic.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/mosaic/Mosaic.java deleted file mode 100644 index 0a77d88..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/mosaic/Mosaic.java +++ /dev/null @@ -1,274 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.artistic.mosaic; - - -import java.awt.Color; -import java.awt.Graphics; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Mosaic implementation - * @author Gabriel Ambrósio Archanjo - * @version 1.0 03/01/2008 - */ -public class Mosaic extends MarvinAbstractImagePlugin -{ - private final static String SQUARES = "squares"; - private final static String TRIANGLES = "triangles"; - - private int width; - private String shape; - private boolean border; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private MarvinPerformanceMeter performanceMeter; - - public void load() - { - // Attributes - attributes = getAttributes(); - attributes.set("width", 6); - attributes.set("shape", SQUARES); - attributes.set("border", true); - performanceMeter = new MarvinPerformanceMeter(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Tile witdh:"); - attributesPanel.addTextField("txtwidth", "width", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblWidth", "Format:"); - attributesPanel.addComboBox("combShape", "shape", new Object[]{SQUARES, TRIANGLES}, attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblWidth", "Edge:"); - attributesPanel.addComboBox("combBorder", "border", new Object[]{true, false}, attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean a_previewMode - ) - { - width = (Integer)attributes.get("width"); - shape = (String)attributes.get("shape"); - border = (Boolean)attributes.get("border"); - - Graphics l_graphics = imageOut.getBufferedImage().getGraphics(); - - performanceMeter.enableProgressBar("Mosaic", imageIn.getHeight()*width); - - if(shape.equals(SQUARES)){ - squaresMosaic(width, border, l_graphics, imageIn); - } - else if(shape.equals(TRIANGLES)){ - trianglesMosaic(width, border, l_graphics, imageIn); - } - - imageOut.updateColorArray(); - performanceMeter.finish(); - } - - private void squaresMosaic(int width, boolean border, Graphics graphics, MarvinImage image){ - Color l_color; - - for (int y = 0; y < image.getHeight(); y+=width) { - for (int x = 0; x < image.getWidth(); x+=width) { - l_color = getSquareColor(x,y,image); - graphics.setColor(l_color); - graphics.fillRect((int)(x), (int)(y), (int)((width)), (int)((width))); - - if(border){ - graphics.setColor(Color.black); - graphics.drawRect((int)(x), (int)(y), (int)((width)), (int)((width))); - } - } - performanceMeter.stepsFinished(image.getWidth()); - } - } - - private void trianglesMosaic(int width, boolean border, Graphics graphics, MarvinImage image){ - Color l_colorT1; - Color l_colorT2; - int t=-1; - boolean l_aux=true; - - if - ( - ((image.getWidth()/width)%2 == 0 && image.getWidth()%width==0) || - ((image.getWidth()/width)%2 == 1 && image.getWidth()%width!=0) - ) - { - l_aux=false; - } - - for (int y = 0; y < image.getHeight(); y+=width) { - for (int x = 0; x < image.getWidth(); x+=width) { - if(t ==-1) - { - l_colorT1 = getTriangleColor(x,y,0, image); - l_colorT2 = getTriangleColor(x,y,1, image); - - graphics.setColor(l_colorT1); - graphics.fillPolygon(new int[]{x,x+width,x}, new int[]{y,y,y+width},3); - if(border){ - graphics.setColor(Color.black); - graphics.drawPolygon(new int[]{x,x+width,x}, new int[]{y,y,y+width},3); - } - - - graphics.setColor(l_colorT2); - graphics.fillPolygon(new int[]{x+width,x+width,x}, new int[]{y,y+width,y+width},3); - if(border){ - graphics.setColor(Color.black); - graphics.drawPolygon(new int[]{x+width,x+width,x}, new int[]{y,y+width,y+width},3); - } - } - else{ - l_colorT1 = getTriangleColor(x,y,2, image); - l_colorT2 = getTriangleColor(x,y,3, image); - - - graphics.setColor(l_colorT1); - graphics.fillPolygon(new int[]{x,x+width,x+width}, new int[]{y,y,y+width},3); - if(border){ - graphics.setColor(Color.black); - graphics.drawPolygon(new int[]{x,x+width,x+width}, new int[]{y,y,y+width},3); - } - - - - graphics.setColor(l_colorT2); - graphics.fillPolygon(new int[]{x, x+width,x}, new int[]{y,y+width,y+width},3); - if(border){ - graphics.setColor(Color.black); - graphics.drawPolygon(new int[]{x, x+width,x}, new int[]{y,y+width,y+width},3); - } - } - performanceMeter.stepsFinished(image.getWidth()); - t*=-1; - } - if(l_aux){ - t*=-1; - } - } - } - - private Color getSquareColor(int aX, int aY, MarvinImage image){ - int l_red=-1; - int l_green=-1; - int l_blue=-1; - - for(int y=0; y 0 && aX+x < image.getWidth() && aY+y> 0 && aY+y < image.getHeight()){ - if(l_red == -1){ - l_red = image.getIntComponent0(aX+x,aY+y); - l_green = image.getIntComponent1(aX+x,aY+y); - l_blue = image.getIntComponent2(aX+x,aY+y); - } - else{ - l_red = (l_red+image.getIntComponent0(aX+x,aY+y))/2; - l_green = (l_green+image.getIntComponent1(aX+x,aY+y))/2; - l_blue = (l_blue+image.getIntComponent2(aX+x,aY+y))/2; - } - } - } - } - return new Color(l_red,l_green,l_blue); - } - - private Color getTriangleColor(int aX, int aY, int tringlePos, MarvinImage image){ - int l_red=-1; - int l_green=-1; - int l_blue=-1; - - int l_xInitial=0; - int l_xOffSet=0; - int l_xOffSetInc=0; - int l_xInitalInc=0; - - switch(tringlePos){ - case 0: - l_xInitial=1; - l_xOffSet = width; - l_xOffSetInc=-1; - l_xInitalInc = 0; - break; - case 1: - l_xInitial = width-1; - l_xOffSet = width; - l_xOffSetInc=0; - l_xInitalInc = -1; - break; - case 2: - l_xInitial=1; - l_xOffSet = width; - l_xOffSetInc=0; - l_xInitalInc = 1; - break; - case 3: - l_xInitial = 1; - l_xOffSet = 1; - l_xOffSetInc=1; - l_xInitalInc = 0; - break; - - } - - int x = l_xInitial; - int y = 0; - - for(int w=0; w< width-1; w++){ - while(x < l_xOffSet){ - if(aX+x > 0 && aX+x < image.getWidth() && aY+y> 0 && aY+y < image.getHeight()){ - if(l_red == -1){ - l_red = image.getIntComponent0(aX+x,aY+y); - l_green = image.getIntComponent1(aX+x,aY+y); - l_blue = image.getIntComponent2(aX+x,aY+y); - } - else{ - l_red = (l_red+image.getIntComponent0(aX+x,aY+y))/2; - l_green = (l_green+image.getIntComponent1(aX+x,aY+y))/2; - l_blue = (l_blue+image.getIntComponent2(aX+x,aY+y))/2; - } - } - x++; - } - l_xInitial+=l_xInitalInc; - l_xOffSet+=l_xOffSetInc; - x = l_xInitial; - y++; - - } - if(l_red == -1) l_red = 0; - if(l_green == -1) l_green = 0; - if(l_blue == -1) l_blue = 0; - return new Color(l_red,l_green,l_blue); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/television/Television.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/television/Television.java deleted file mode 100644 index 5404657..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/artistic/television/Television.java +++ /dev/null @@ -1,89 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.artistic.television; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Represent an image using red, green and blue lines. - * @author Gabriel Ambrosio Archanjo - * @version 1.0 02/28/2008 - */ -public class Television extends MarvinAbstractImagePlugin -{ - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - boolean[][] l_arrMask = mask.getMask(); - - int r,g,b; - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y+=3) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - r=0; - g=0; - b=0; - - for(int w=0; w<3; w++){ - if(y+w < imageIn.getHeight() ){ - r += (imageIn.getIntComponent0(x, y+w))/2; - g += (imageIn.getIntComponent1(x, y+w))/2; - b += (imageIn.getIntComponent2(x, y+w))/2; - } - } - r = getValidInterval(r); - g = getValidInterval(g); - b = getValidInterval(b); - - for(int w=0; w<3; w++){ - if(y+w < imageOut.getHeight()){ - if(w == 0){ - imageOut.setIntColor(x,y+w,imageIn.getAlphaComponent(x, y), r,0,0); - } - else if(w ==1){ - imageOut.setIntColor(x,y+w,imageIn.getAlphaComponent(x, y), 0,g,0); - } - else if(w==2){ - imageOut.setIntColor(x,y+w,imageIn.getAlphaComponent(x, y), 0,0,b); - } - } - } - } - } - } - - public int getValidInterval(int value){ - if(value < 0) return 0; - if(value > 255) return 255; - return value; - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineFixedCameraBackground/DetermineFixedCameraBackground.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineFixedCameraBackground/DetermineFixedCameraBackground.java deleted file mode 100644 index 3fcf8d6..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineFixedCameraBackground/DetermineFixedCameraBackground.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.marvinproject.image.background.determineFixedCameraBackground; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class DetermineFixedCameraBackground extends MarvinAbstractImagePlugin{ - private int[][][][] weights; - private boolean initialized=false; - - public void load(){ - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - private void initialize(MarvinImage imageIn){ - weights = new int[imageIn.getWidth()][imageIn.getHeight()][3][26]; - initialized=true; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - if(!initialized){ - initialize(imageIn); - } - - for(int y=0; y max){ - max = arr[i]; - maxIndex = i; - } - } - - return maxIndex*10; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineSceneBackground/DetermineSceneBackground.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineSceneBackground/DetermineSceneBackground.java deleted file mode 100644 index 27e230f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/background/determineSceneBackground/DetermineSceneBackground.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.marvinproject.image.background.determineSceneBackground; - -import java.util.ArrayList; -import java.util.List; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class DetermineSceneBackground extends MarvinAbstractImagePlugin{ - - private int threshold; - - @Override - public void load() { - setAttribute("threshold", 30); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) {} - - - @Override - public void process - ( - List images, - MarvinImage imageOut - ){ - threshold = (Integer)getAttribute("threshold"); - MarvinImage image0 = images.get(0); - for(int y=0; y images, int threshold){ - List colors = new ArrayList(); - for(MarvinImage img:images){ - - Integer[] c = new Integer[4]; - c[0] = img.getIntComponent0(x, y); - c[1] = img.getIntComponent1(x, y); - c[2] = img.getIntComponent2(x, y); - c[3] = 0; - - if(colors.isEmpty()){ - colors.add(c); - } - else{ - boolean found=false; - for(Integer[] c2:colors){ - - if - ( - Math.abs(c2[0]-c[0]) < threshold*0.3 && - Math.abs(c2[1]-c[1]) < threshold*0.3 && - Math.abs(c2[2]-c[2]) < threshold*0.3 - ){ - c2[0] = (c2[0]+c[0])/2; - c2[1] = (c2[1]+c[1])/2; - c2[2] = (c2[2]+c[2])/2; - c2[3]++; - found=true; - break; - } - } - - if(!found){ - colors.add(c); - } - } - } - - int max=-1; - int maxIndex=0; - Integer[] c2 = null; - for(int i=0; i max){ - max = c2[3]; - maxIndex = i; - } - } - c2 = colors.get(maxIndex); - return 0xFF + (c2[0] << 16) + (c2[1] << 8) + c2[2]; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/gaussianBlur/GaussianBlur.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/gaussianBlur/GaussianBlur.java deleted file mode 100644 index ef20f72..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/gaussianBlur/GaussianBlur.java +++ /dev/null @@ -1,156 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.blur.gaussianBlur; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Gaussian blur implementation. This algorithm can be optimized in many ways. - * @author Gabriel Ambrósio Archanjo, Martin Mihályi - * @version 1.0 02/13/2008 - */ -public class GaussianBlur extends MarvinAbstractImagePlugin -{ - private final static int RED = 0; - private final static int GREEN = 1; - private final static int BLUE = 2; - - MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - MarvinPerformanceMeter performanceMeter; - - double kernelMatrix[][]; - double resultMatrix[][][]; - double appiledkernelMatrix[][]; - int radius; - public void load() - { - // Attributes - attributes = getAttributes(); - attributes.set("radius",3); - performanceMeter = new MarvinPerformanceMeter(); - radius = 3; - kernelMatrix = getGaussianKernel(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Radius:"); - attributesPanel.addTextField("txtRadius", "radius", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - radius = (Integer)attributes.get("radius"); - - int l_imageWidth = imageIn.getWidth(); - int l_imageHeight = imageIn.getHeight(); - - performanceMeter.start("Gaussian Blur"); - performanceMeter.enableProgressBar("Gaussian Blur", (l_imageWidth*l_imageHeight)+l_imageWidth); - - int l_pixelColor; - kernelMatrix = getGaussianKernel(); - resultMatrix = new double[l_imageWidth][l_imageHeight][3]; - appiledkernelMatrix = new double[l_imageWidth][l_imageHeight]; - - boolean[][] l_arrMask = mask.getMask(); - performanceMeter.startEvent("Apply Kernel"); - for (int x = 0; x < l_imageWidth; x++) { - for (int y = 0; y < l_imageHeight; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - l_pixelColor = imageIn.getIntColor(x,y); - applyKernel(x,y,l_pixelColor,imageOut); - } - performanceMeter.incProgressBar(l_imageHeight); - } - performanceMeter.finishEvent(); - - - performanceMeter.startEvent("Apply result"); - for (int x = 0; x < l_imageWidth; x++) { - for (int y = 0; y < l_imageHeight; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - resultMatrix[x][y][RED] = (short)((resultMatrix[x][y][0]/appiledkernelMatrix[x][y])%256); - resultMatrix[x][y][GREEN] = (short)((resultMatrix[x][y][1]/appiledkernelMatrix[x][y])%256); - resultMatrix[x][y][BLUE] = (short)((resultMatrix[x][y][2]/appiledkernelMatrix[x][y])%256); - imageOut.setIntColor(x,y,imageIn.getAlphaComponent(x, y), (int)resultMatrix[x][y][0], (int)resultMatrix[x][y][1], (int)resultMatrix[x][y][2]); - } - performanceMeter.incProgressBar(); - performanceMeter.stepsFinished(l_imageHeight); - } - performanceMeter.finishEvent(); - - performanceMeter.finish(); - } - - /* - * Calc Gaussian Matrix. - */ - private double[][] getGaussianKernel(){ - double l_matrix[][] = new double[(radius*2)+1][(radius*2)+1]; - double l_q=radius/3.0; - double l_distance; - double l_x; - double l_y; - - performanceMeter.startEvent("Generate Gaussian Kernel"); - for(int x=1; x<=(radius*2)+1; x++){ - for(int y=1; y<=(radius*2)+1; y++){ - l_x = Math.abs(x-(radius+1)); - l_y = Math.abs(y-(radius+1)); - l_distance = Math.sqrt((l_x*l_x)+(l_y*l_y)); - l_matrix[y-1][x-1] = ( (1.0/(2.0*Math.PI*l_q*l_q))* Math.exp( (-(l_distance*l_distance)) / (2.0*l_q*l_q) ) ); - } - performanceMeter.stepsFinished(radius*2); - } - performanceMeter.finishEvent(); - return l_matrix; - } - - /* - * Apply the blur matrix on a image region. - */ - private void applyKernel(int centerPixel_X, int centerPixel_Y, int pixelColor, MarvinImage image) - { - for(int y=centerPixel_Y; y= 0 && x-radius < image.getWidth() && y-radius >= 0 && y-radius < image.getHeight()){ - resultMatrix[x-radius][y-radius][RED]+= (((pixelColor & 0x00FF0000) >>> 16)*kernelMatrix[x-centerPixel_X][y-centerPixel_Y]); - resultMatrix[x-radius][y-radius][GREEN]+= (((pixelColor & 0x0000FF00) >>> 8)*kernelMatrix[x-centerPixel_X][y-centerPixel_Y]); - resultMatrix[x-radius][y-radius][BLUE]+= ((pixelColor & 0x000000FF)*kernelMatrix[x-centerPixel_X][y-centerPixel_Y]); - appiledkernelMatrix[x-radius][y-radius] += kernelMatrix[x-centerPixel_X][y-centerPixel_Y]; - } - } - performanceMeter.stepsFinished(radius*2); - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/pixelize/Pixelize.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/pixelize/Pixelize.java deleted file mode 100644 index ffd5b23..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/blur/pixelize/Pixelize.java +++ /dev/null @@ -1,106 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.blur.pixelize; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Pixelize - * @author Gabriel Ambrosio Archanjo - * @version 1.0 02/28/2008 - */ -public class Pixelize extends MarvinAbstractImagePlugin -{ - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - private boolean[][] arrMask; - - public void load(){ - // Attributes - attributes = getAttributes(); - attributes.set("squareSide", 10); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblSquareSide", "Square Side"); - attributesPanel.addTextField("txtSquareSide", "squareSide", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int l_rgb; - - int squareSide = (Integer)attributes.get("squareSide"); - arrMask = mask.getMask(); - - for (int x = 0; x < imageIn.getWidth(); x+=squareSide) { - for (int y = 0; y < imageIn.getHeight(); y+=squareSide) { - l_rgb = getPredominantRGB(imageIn, x,y,squareSide); - fillRect(imageOut, x,y,squareSide, l_rgb); - } - } - } - - private int getPredominantRGB(MarvinImage a_image, int a_x, int a_y, int a_squareSide){ - int l_red=-1; - int l_green=-1; - int l_blue=-1; - - for(int x=a_x; x= 0 && i< image.getWidth() && j >= 0 && j < image.getHeight()){ - totalAlpha += image.getAlphaComponent(i, j); - totalPixels++; - } - } - } - - newAlpha = totalAlpha/totalPixels; - - if(newAlpha < oldAlpha) - image.setAlphaComponent(x, y, newAlpha); - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/blackAndWhite/BlackAndWhite.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/blackAndWhite/BlackAndWhite.java deleted file mode 100644 index b41a6f2..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/blackAndWhite/BlackAndWhite.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.marvinproject.image.color.blackAndWhite; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -public class BlackAndWhite extends MarvinAbstractImagePlugin{ - - private final static double MAX_RLEVEL = 0.03; - private MarvinImagePlugin grayScale; - - @Override - public void load() { - grayScale = new GrayScale(); - grayScale.load(); - setAttribute("level", 10); - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) { - grayScale.process(imageIn, imageOut); - int level = (Integer)getAttribute("level"); - double rlevel = (level/100.0)*MAX_RLEVEL; - - int gray; - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.brightnessAndContrast; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Brightness and Constrast manipulation plug-in. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/28/2008 - */ -public class BrightnessAndContrast extends MarvinAbstractImagePlugin -{ - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - public void load(){ - // Attributes - attributes = getAttributes(); - attributes.set("brightness", 0); - attributes.set("contrast", 0); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblBrightness", "Brightness"); - attributesPanel.addHorizontalSlider("sliderBrightness", "brightness", -127, 127, 0, attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblContrast", "Contrast"); - attributesPanel.addHorizontalSlider("sliderContrast", "contrast", -127, 127, 0, attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - double r,g,b; - double l_brightness = (Integer)attributes.get("brightness"); - double l_contrast = (Integer)attributes.get("contrast"); - l_contrast = Math.pow((127 + l_contrast)/127, 2); - - // Brightness - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - r = imageIn.getIntComponent0(x, y); - g = imageIn.getIntComponent1(x, y); - b = imageIn.getIntComponent2(x, y); - - r+= (1-(r/255))*l_brightness; - g+= (1-(g/255))*l_brightness; - b+= (1-(b/255))*l_brightness; - if(r < 0) r=0; - if(r > 255) r=255; - if(g < 0) g=0; - if(g > 255) g=255; - if(b < 0) b=0; - if(b > 255) b=255; - - imageOut.setIntColor(x,y,imageIn.getAlphaComponent(x, y), (int)r,(int)g,(int)b); - } - } - - // Contrast - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - r = imageOut.getIntComponent0(x, y); - g = imageOut.getIntComponent1(x, y); - b = imageOut.getIntComponent2(x, y); - - - r /= 255.0; - r -= 0.5; - r *= l_contrast; - r += 0.5; - r *= 255.0; - - g /= 255.0; - g -= 0.5; - g *= l_contrast; - g += 0.5; - g *= 255.0; - - b /= 255.0; - b -= 0.5; - b *= l_contrast; - b += 0.5; - b *= 255.0; - - - if(r < 0) r=0; - if(r > 255) r=255; - if(g < 0) g=0; - if(g > 255) g=255; - if(b < 0) b=0; - if(b > 255) b=255; - - imageOut.setIntColor(x,y,imageIn.getAlphaComponent(x, y), (int)r,(int)g,(int)b); - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/colorChannel/ColorChannel.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/colorChannel/ColorChannel.java deleted file mode 100644 index f088980..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/colorChannel/ColorChannel.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.marvinproject.image.color.colorChannel; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class ColorChannel extends MarvinAbstractImagePlugin{ - - @Override - public void load() { - setAttribute("red", 0); - setAttribute("green", 0); - setAttribute("blue", 0); - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) { - - int vr = (Integer)getAttribute("red"); - int vg = (Integer)getAttribute("green"); - int vb = (Integer)getAttribute("blue"); - - double mr = 1+Math.abs((vr/100.0)*2.5); - double mg = 1+Math.abs((vg/100.0)*2.5); - double mb = 1+Math.abs((vb/100.0)*2.5); - - mr = (vr > 0? mr : 1.0/mr); - mg = (vg > 0? mg : 1.0/mg); - mb = (vb > 0? mb : 1.0/mb); - - int red,green,blue; - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.emboss; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Invert the pixels color to create an emboss effect. - * @author Chris Mack - * @version 1.0 12/07/2011 - */ -public class Emboss extends MarvinAbstractImagePlugin -{ - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < a_imageIn.getWidth(); x++) { - for (int y = 0; y < a_imageIn.getHeight(); y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - a_imageOut.setIntColor(x, y, 255, a_imageIn.getIntColor(x, y)); - continue; - } - - int rDiff=0; - int gDiff=0; - int bDiff=0; - - if (y > 0 && x > 0){ - - // Red component difference between the current and the upperleft pixels - rDiff = a_imageIn.getIntComponent0(x, y) - a_imageIn.getIntComponent0(x-1, y-1); - - // Green component difference between the current and the upperleft pixels - gDiff = a_imageIn.getIntComponent1(x, y) - a_imageIn.getIntComponent1(x-1, y-1); - - // Blue component difference between the current and the upperleft pixels - bDiff = a_imageIn.getIntComponent2(x, y) - a_imageIn.getIntComponent2(x-1, y-1); - - } - else{ - rDiff = 0; - gDiff = 0; - bDiff = 0; - } - - int diff = rDiff; - if (Math.abs (gDiff) > Math.abs (diff)) - diff = gDiff; - if (Math.abs (bDiff) > Math.abs (diff)) - diff = bDiff; - - int grayLevel = Math.max (Math.min (128 + diff, 255),0); - - a_imageOut.setIntColor(x, y, 255, grayLevel, grayLevel, grayLevel); - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/grayScale/GrayScale.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/grayScale/GrayScale.java deleted file mode 100644 index 9605ca6..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/grayScale/GrayScale.java +++ /dev/null @@ -1,74 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.grayScale; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Represents an image in gray scale. - * @author Fábio Andrijauskas - * @version 1.0 02/28/2008 - */ -public class GrayScale extends MarvinAbstractImagePlugin -{ - MarvinPerformanceMeter performanceMeter; - MarvinAttributes attributes; - - public void load(){ - performanceMeter = new MarvinPerformanceMeter(); - attributes = getAttributes(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - // Mask - boolean[][] l_arrMask = mask.getMask(); - - performanceMeter.start("Gray"); - performanceMeter.startEvent("Gray"); - int r,g,b,finalColor; - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - //Red - 30% / Green - 59% / Blue - 11% - r = imageIn.getIntComponent0(x, y); - g = imageIn.getIntComponent1(x, y); - b = imageIn.getIntComponent2(x, y); - finalColor = (int)((r*0.3)+(g*0.59)+(b*0.11)); - imageOut.setIntColor(x,y,imageIn.getAlphaComponent(x, y), finalColor,finalColor,finalColor); - - } - performanceMeter.stepsFinished(imageIn.getHeight()); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } -} - diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/invert/Invert.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/invert/Invert.java deleted file mode 100644 index d7c74aa..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/invert/Invert.java +++ /dev/null @@ -1,58 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.invert; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Invert the pixels color. - * @author Gabriel Ambrosio Archanjo - * @version 1.0 02/28/2008 - */ -public class Invert extends MarvinAbstractImagePlugin -{ - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - boolean[][] l_arrMask = mask.getMask(); - - int r, g, b; - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - r = (255-(int)imageIn.getIntComponent0(x, y)); - g = (255-(int)imageIn.getIntComponent1(x, y)); - b = (255-(int)imageIn.getIntComponent2(x, y)); - - imageOut.setIntColor(x,y,imageIn.getAlphaComponent(x, y), r,g,b); - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/sepia/Sepia.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/sepia/Sepia.java deleted file mode 100644 index 8347c49..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/sepia/Sepia.java +++ /dev/null @@ -1,147 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.sepia; - -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; - -import javax.swing.JSlider; -import javax.swing.JTextField; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -/** - * Sepia plug-in. Reference: {@link http://forum.java.sun.com/thread.jspa?threadID=728795&messageID=4195478} - * @author Hugo Henrique Slepicka - * @version 1.0.2 04/10/2008 - */ -public class Sepia extends MarvinAbstractImagePlugin implements ChangeListener, KeyListener{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private MarvinPerformanceMeter performanceMeter; - - - public void load() { - attributes = getAttributes(); - attributes.set("txtValue", "20"); - attributes.set("intensity", 20); - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int r, g, b, depth, corfinal; - - //Define a intensidade do filtro... - depth = Integer.parseInt(attributes.get("intensity").toString()); - - int width = imageIn.getWidth(); - int height = imageIn.getHeight(); - - //performanceMeter.enableProgressBar("Filtro de Teste", ((height-2)*(width-2))); - - boolean[][] l_arrMask = mask.getMask(); - - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - //Captura o RGB do ponto... - r = imageIn.getIntComponent0(x, y); - g = imageIn.getIntComponent1(x, y); - b = imageIn.getIntComponent2(x, y); - - //Define a cor como a média aritmética do pixel... - corfinal = (r + g + b) / 3; - r = g = b = corfinal; - - r = truncate(r + (depth * 2)); - g = truncate(g + depth); - - //Define a nova cor do ponto... - imageOut.setIntColor(x, y, imageIn.getAlphaComponent(x, y), r, g, b); - } - //performanceMeter.incProgressBar(width-2); - } - //performanceMeter.finish(); - } - - /** - * Sets the RGB between 0 and 255 - * @param a - * @return - */ - public int truncate(int a) { - if (a < 0) return 0; - else if (a > 255) return 255; - else return a; - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblIntensidade", "Intensidade do Filtro"); - attributesPanel.addHorizontalSlider("hsIntensidade", "hsIntensidade", 0, 100, 20, attributes); - attributesPanel.newComponentRow(); - attributesPanel.addTextField("txtValue", "txtValue",attributes); - - JTextField txtValue = (JTextField)(attributesPanel.getComponent("txtValue").getComponent()); - JSlider slider = (JSlider)(attributesPanel.getComponent("hsIntensidade").getComponent()); - - slider.addChangeListener(this); - txtValue.addKeyListener(this); - } - - return attributesPanel; - } - - //Manipula as alteraçőes da Horizontal Bar - //Handles the Horizontal Bar changes - public void stateChanged(ChangeEvent e) { - JSlider barra = (JSlider) (e.getSource()); - JTextField lbl = (JTextField)(attributesPanel.getComponent("txtValue").getComponent()); - lbl.setText(""+barra.getValue()); - } - - public void keyPressed(KeyEvent e) { - - } - - public void keyReleased(KeyEvent e) { - JTextField txtValor = (JTextField) (attributesPanel.getComponent("txtValue").getComponent()); - JSlider barra = (JSlider) (attributesPanel.getComponent("hsIntensidade").getComponent()); - try { - barra.setValue(Integer.parseInt(txtValor.getText().trim())); - } catch (Exception exception) { - barra.setValue(0); - txtValor.setText("0"); - } - - } - - public void keyTyped(KeyEvent e) {} - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/ColorSpaceConverter.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/ColorSpaceConverter.java deleted file mode 100644 index 1fccbbe..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/ColorSpaceConverter.java +++ /dev/null @@ -1,223 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.skinColorDetection; - - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Locates faces in an image. - * @author Barry McCullagh - * @version 23/04/2009 - */ -public class ColorSpaceConverter extends MarvinAbstractImagePlugin -{ - - MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - /** - * Convert the image from RGB to HSV. Conversion formula from - * http://en.wikipedia.org/wiki/HSL_color_space#Conversion_from_RGB_to_HSL_or_HSV - * @param MarvinImage - the image to be rotated - * @param boolean - to display a preview - */ - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int l_imageWidth = imageIn.getWidth(); - int l_imageHeight = imageIn.getHeight(); - - for(int l_currentX = 0; l_currentX < l_imageWidth; l_currentX++) - { - for(int l_currentY = 0; l_currentY < l_imageHeight; l_currentY++) - { - double l_red = (double)(imageIn.getIntComponent0(l_currentX, l_currentY)); - double l_green = (double)(imageIn.getIntComponent1(l_currentX, l_currentY)); - double l_blue = (double)(imageIn.getIntComponent2(l_currentX, l_currentY)); - - double l_normalisedRed = ( l_red / 255 ); //RGB from 0 to 255 - double l_normalisedGreen = ( l_green / 255 ); - double l_normalisedBlue = ( l_blue / 255 ); - - double l_currentMin = min3nums( l_normalisedRed, l_normalisedGreen, l_normalisedBlue ); //Min. value of RGB - double l_currentMax = max3nums( l_normalisedRed, l_normalisedGreen, l_normalisedBlue ) ; //Max. value of RGB - - - double l_hue = 0; //HSV results from 0 to 1 - double l_sat = 0; - double l_var = 0; - //calculate the hue value - if(l_currentMin == l_currentMax) - { - l_hue = 0; - } - else if(l_normalisedRed == l_currentMax) - { - l_hue = (60 * ((l_normalisedGreen - l_normalisedBlue)/(l_currentMax - l_currentMin)) +360 )%360; - } - else if(l_normalisedGreen == l_currentMax) - { - l_hue = (60 * ((l_normalisedBlue - l_normalisedRed)/(l_currentMax - l_currentMin)) +120 ); - } - else if(l_normalisedBlue == l_currentMax) - { - l_hue = (60 * ((l_normalisedRed - l_normalisedGreen)/(l_currentMax - l_currentMin)) +240 ); - } - - - //calculate the saturation value - if(l_currentMax == 0) - { - l_sat = 0; - } - else - { - l_sat = 1 - (l_currentMin/l_currentMax); - } - - l_var = l_currentMax; - //System.out.println(l_hue); - //l_hue = l_hue*255; - //System.out.println((int)((l_hue*255)/360) + "\n___________"); - imageOut.setIntColor(l_currentX, l_currentY, (int)((l_hue*255)/360), (int)(l_sat*255), (int)(l_var*255)); - } - } - } - public void process1 - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - int l_imageWidth = a_imageIn.getWidth(); - int l_imageHeight = a_imageIn.getHeight(); - - for(int l_currentX = 0; l_currentX < l_imageWidth; l_currentX++) - { - for(int l_currentY = 0; l_currentY < l_imageHeight; l_currentY++) - { - double l_red = (double)(a_imageIn.getIntComponent0(l_currentX, l_currentY)); - double l_green = (double)(a_imageIn.getIntComponent1(l_currentX, l_currentY)); - double l_blue = (double)(a_imageIn.getIntComponent2(l_currentX, l_currentY)); - - double l_varR = ( l_red / 255 ); //RGB from 0 to 255 - double l_varG = ( l_green / 255 ); - double l_varB = ( l_blue / 255 ); - - double l_varMin = min3nums( l_varR, l_varG, l_varB ); //Min. value of RGB - double l_varMax = max3nums( l_varR, l_varG, l_varB ) ; //Max. value of RGB - double l_delMax = l_varMin - l_varMax; //Delta RGB value - - double l_var = l_varMax; - - double l_hue = 0; //HSV results from 0 to 1 - double l_sat = 0; - if ( l_delMax != 0 ) //This is a gray, no chroma... - { - - l_sat = l_delMax / l_varMax; - - double l_del_R = ( ( ( l_varMax - l_varR ) / 6 ) + ( l_delMax / 2 ) ) / l_delMax; - double l_del_G = ( ( ( l_varMax - l_varG ) / 6 ) + ( l_delMax / 2 ) ) / l_delMax; - double l_del_B = ( ( ( l_varMax - l_varB ) / 6 ) + ( l_delMax / 2 ) ) / l_delMax; - - if ( l_varR == l_varMax ) - { - l_hue = l_del_B - l_del_G; - } - else if ( l_varG == l_varMax ) - { - l_hue = ( 1 / 3 ) + l_del_R - l_del_B; - } - else if ( l_varB == l_varMax ) - { - l_hue = ( 2 / 3 ) + l_del_G - l_del_R; - } - - if ( l_hue < 0 ) - { - l_hue += 1; - } - if ( l_hue > 1 ) - { - l_hue -= 1; - } - } - System.out.println(l_hue); - l_hue = l_hue*255; - System.out.println(l_hue + "\n___________"); - a_imageOut.setIntColor(l_currentX, l_currentY, (int)l_hue, (int)l_hue, (int)l_hue); - } - } - } - public double max3nums(double a_red, double a_green, double a_blue) - { - double l_max = 0; - if(a_red > a_green) - { - l_max = a_red; - } - else - { - l_max = a_green; - - } - if(l_max < a_blue) - { - l_max = a_blue; - } - - return l_max; - } - public double min3nums(double a_red, double a_green, double a_blue) - { - double l_min = 255; - if(a_red < a_green) - { - l_min = a_red; - } - else - { - l_min = a_green; - } - if(l_min < a_blue) - { - return l_min; - } - else - { - return a_blue; - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/SkinColorDetection.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/SkinColorDetection.java deleted file mode 100644 index 95a579d..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/skinColorDetection/SkinColorDetection.java +++ /dev/null @@ -1,326 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.skinColorDetection; - - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Locates skin color pixels in an image. - * @author Barry McCullagh - * @version 08/05/2009 - */ -public class SkinColorDetection extends MarvinAbstractImagePlugin -{ - - MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - /** - * Initiate the process of finding skin - * @param MarvinImage - the image to be rotated - * @param boolean - to display a preview - */ - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - MarvinImage l_hsvImage = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - ColorSpaceConverter l_colorspaceConverter = new ColorSpaceConverter(); - l_colorspaceConverter.process(imageIn, l_hsvImage, attributesOut, mask, false); - - - /*The first step is to determine regions of the scene which - * have appropriate skin tone. - */ - findSkinColorPixels(imageIn, l_hsvImage, imageOut); - - - - - } - /** - * Using heuristics, identify any pixels which may be skin colored. - * @param imageIn - * @param a_imageOut - */ - private void findSkinColorPixels(MarvinImage imageIn, MarvinImage hsvImage, MarvinImage imageOut) - { - int l_imageHeight = imageIn.getHeight(); - int l_imageWidth = imageIn.getWidth(); - - - boolean[] l_rules = {false, false, false}; - - for(int xx = 0; xx < l_imageWidth; xx++) - { - for(int yy = 0; yy < l_imageHeight; yy++) - { - int l_currentHue = hsvImage.getIntComponent0(xx, yy); - int l_currentSat = hsvImage.getIntComponent1(xx, yy); - int l_currentVar = hsvImage.getIntComponent2(xx, yy); - - if(l_currentHue > 0 && l_currentHue < 23) - { - imageOut.setIntColor(xx, yy, imageIn.getIntColor(xx, yy)); - } - else - { - imageOut.setIntColor(xx, yy, 0); - } - /* checkRule0(l_currentRed, l_currentGreen, l_currentBlue, l_rules); - //checkRule1(l_currentRed, l_currentGreen, l_currentBlue, l_rules); - checkRule2(l_currentRed, l_currentGreen, l_currentBlue, l_rules); - if(l_rules[0] == true && l_rules[2] == true) - { - a_imageOut.setRGB(xx, yy, a_imageIn.getRGB(xx, yy)); - } - else - { - a_imageOut.setRGB(xx, yy, 0); - } - */ - } - } - } - - //rules from http://graphics.cs.msu.ru/en/publications/text/gc2003vsa.pdf - protected void checkRule2(int currentRed, int currentGreen, int currentBlue, boolean[] a_rules) - { - int l_maxCoords = max3nums(currentRed, currentGreen, currentBlue); - int l_minCoords = min3nums(currentRed, currentGreen, currentBlue); - if(currentRed > 95 && currentGreen >40 && currentBlue > 20 - && (l_maxCoords - l_minCoords) > 15 - && Math.abs(currentRed - currentGreen) > 15 - && currentRed > currentGreen - && currentRed > currentBlue) - { - a_rules[2] = true; - } - else - { - a_rules[2] = false; - } - } - public int max3nums(int a_red, int a_green, int a_blue) - { - int l_max = 0; - if(a_red > a_green) - { - l_max = a_red; - } - else - { - l_max = a_green; - - } - if(l_max < a_blue) - { - l_max = a_blue; - } - - return l_max; - } - public int min3nums(int a_red, int a_green, int a_blue) - { - int l_min = 255; - if(a_red < a_green) - { - l_min = a_red; - } - else - { - l_min = a_green; - } - if(l_min < a_blue) - { - return l_min; - } - else - { - return a_blue; - } - } - - //rules from http://lrv.fri.uni-lj.si/~peterp/publications/eurocon03.pdf - protected void checkRule1(int currentRed, int currentGreen, int currentBlue, boolean[] rules) - { - if(currentRed > 220 - && currentGreen > 210 - && currentBlue > 170 - && Math.abs(currentRed - currentGreen) <= 15 - && currentRed > currentBlue - && currentGreen > currentBlue) - { - rules[1] = true; - } - else - { - rules[1] = false; - } - } - - //rules from http://cs-people.bu.edu/ringb/CS585/PA1/source/ImageFunct.html - protected void checkRule0(int currentRed, int currentGreen, int currentBlue, boolean[] rules) - { - int[] l_currentSkintone = new int[2]; - l_currentSkintone[0] = currentRed; - l_currentSkintone[1] = currentGreen; - //check the red and green component of the current pixel - //If it does not fall in between the required values set as black - if(currentRed < 40 || currentGreen < 40) - { - //a_imageOut.setRGB(xx, yy, 0, 0, 0); - rules[0] = false; - //System.out.println(a_rule1); - } - else - { - int[] l_VectorSkintoneA = new int[2]; - int[] l_VectorSkintoneB = new int[2]; - l_VectorSkintoneA[0] = 225; - l_VectorSkintoneA[1] = 165; - l_VectorSkintoneB[0] = 125; - l_VectorSkintoneB[1] = 50; - double l_angleCurrentSkinVectorA = calculateVectorAngle(l_VectorSkintoneA, l_currentSkintone); - double l_angleCurrentSkinVectorB = calculateVectorAngle(l_VectorSkintoneB, l_currentSkintone); - - if(l_angleCurrentSkinVectorA < .995 && l_angleCurrentSkinVectorB < .995) - { - //a_imageOut.setRGB(xx, yy, 0, 0, 0); - rules[0] = false; - - } - else - { - rules[0] = true; - //System.out.println(a_rule1); - //a_imageOut.setRGB(xx, yy, a_imageIn.getRGB(xx,yy)); - } - } - } - /** - * Find the minimum and maximum component of all the R, G and B values in an image. - * @param imageIn - * @param minMax - */ - protected void findMinMax(MarvinImage imageIn, int[] minMax) - { - for(int l_currentX = 0; l_currentX < imageIn.getWidth(); l_currentX++) - { - for(int l_currentY = 0; l_currentY < imageIn.getHeight(); l_currentY++) - { - int l_currentRed = imageIn.getIntComponent0(l_currentX, l_currentY); - int l_currentGreen = imageIn.getIntComponent1(l_currentX, l_currentY); - int l_currentBlue = imageIn.getIntComponent2(l_currentX, l_currentY); - //check red - if(l_currentRed < minMax[0]) - { - minMax[0] = l_currentRed; - } - if(l_currentRed > minMax[1]) - { - minMax[1] = l_currentRed; - } - //check green - if(l_currentGreen < minMax[0]) - { - minMax[0] = l_currentGreen; - } - if(l_currentGreen > minMax[1]) - { - minMax[1] = l_currentGreen; - } - //check blue - if(l_currentBlue < minMax[0]) - { - minMax[0] = l_currentBlue; - } - if(l_currentBlue > minMax[1]) - { - minMax[1] = l_currentBlue; - } - } - } - } - /** - * The borders may not be continuous so this method examines the pixels - * around the current pixel of interest. If there is no border pixel neighbouring - * it, it searches within a 16 connected connected neighbourhood to find a bordering pixel - * @param l_borderedRegions - */ - -/** - * Get the angle between two, two dimensional vectors - * @param a_Vector1, a_Vector2 - the vectors who's angle of difference needs to be calculated - */ - protected double calculateVectorAngle(int[] vector1, int[] vector2) - { - if (vector1.length != vector2.length) - { - return 0; - } - double l_magVector1 = findMagnitude(vector1); - double l_magVector2 = findMagnitude(vector2); - double l_dotProduct = dotProduct(vector1, vector2); - - return l_dotProduct / (l_magVector1 * l_magVector2); - - } - /** - * Find the magnitude of a 2 element 'vector' - * @param vector - * @return - */ - protected double findMagnitude(int[] vector) - { - if (vector.length != 2) - { - return 0; - } - else - { - return Math.sqrt(vector[0]*vector[0] + vector[1]*vector[1] ); - } - } - - //Static Method that returns the Dot Product of two Vectors - private double dotProduct(int[] vector1, int[] vector2) - { - if (vector1.length != vector2.length && vector1.length != 2) - { - return 0; - } - return vector1[0]*vector2[0] + vector1[1]*vector2[1]; - } - - - - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholding/Thresholding.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholding/Thresholding.java deleted file mode 100644 index 28d68dc..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholding/Thresholding.java +++ /dev/null @@ -1,164 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.color.thresholding; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Thresholding - * @author Gabriel Ambrosio Archanjo - */ -public class Thresholding extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private int threshold, - thresholdRange, - neighborhood, - range; - - private MarvinImagePlugin pluginGray; - - public void load(){ - - // Attributes - attributes = getAttributes(); - attributes.set("threshold", 125); - attributes.set("thresholdRange", -1); - attributes.set("neighborhood", -1); - attributes.set("range", -1); - - pluginGray = new GrayScale(); - pluginGray.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblThreshold", "Threshold"); - attributesPanel.addTextField("txtThreshold", "threshold", attributes); - attributesPanel.addLabel("lblNeighborhood", "Neighborhood"); - attributesPanel.addTextField("txtNeighborhood", "neighborhood", attributes); - attributesPanel.addLabel("lblRange", "Range"); - attributesPanel.addTextField("txtRange", "range", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - threshold = (Integer)attributes.get("threshold"); - thresholdRange = (Integer)attributes.get("thresholdRange"); - neighborhood = (Integer)attributes.get("neighborhood"); - range = (Integer)attributes.get("range"); - - if(thresholdRange == -1){ - thresholdRange = 255-threshold; - } - - pluginGray.process(imageIn, imageOut, attributesOut, mask, previewMode); - - boolean[][] bmask = mask.getMask(); - - if(neighborhood == -1 && range == -1){ - hardThreshold(imageIn, imageOut, bmask); - } - else{ - contrastThreshold(imageIn, imageOut); - } - - } - - private void hardThreshold(MarvinImage imageIn, MarvinImage imageOut, boolean[][] mask){ - for(int y=0; y threshold+thresholdRange){ - imageOut.setIntColor(x, y, imageIn.getAlphaComponent(x,y), 0,0,0); - } - else{ - imageOut.setIntColor(x, y, imageIn.getAlphaComponent(x,y), 255,255,255); - } - } - } - } - - private void contrastThreshold - ( - MarvinImage imageIn, - MarvinImage imageOut - ){ - range = 1; - for (int x = 0; x < imageIn.getWidth(); x++) { - for (int y = 0; y < imageIn.getHeight(); y++) { - if(checkNeighbors(x,y, neighborhood, neighborhood, imageIn)){ - imageOut.setIntColor(x,y,0,0,0); - } - else{ - imageOut.setIntColor(x,y,255,255,255); - } - } - } - } - - private boolean checkNeighbors(int x, int y, int neighborhoodX, int neighborhoodY, MarvinImage img){ - - int color; - int z=0; - - color = img.getIntComponent0(x, y); - - for(int i=0-neighborhoodX; i<=neighborhoodX; i++){ - for(int j=0-neighborhoodY; j<=neighborhoodY; j++){ - if(i == 0 && j == 0){ - continue; - } - - if(color < getSafeColor(x+i,y+j, img)-range && getSafeColor(x+i,y+j, img) != -1){ - z++; - } - } - } - - if(z > (neighborhoodX*neighborhoodY)*0.5){ - return true; - } - - return false; - } - - private int getSafeColor(int x, int y, MarvinImage img){ - - if(x >= 0 && x < img.getWidth() && y >= 0 && y < img.getHeight()){ - return img.getIntComponent0(x, y); - } - return -1; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholdingNeighborhood/ThresholdingNeighborhood.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholdingNeighborhood/ThresholdingNeighborhood.java deleted file mode 100644 index 6c9b1ff..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/color/thresholdingNeighborhood/ThresholdingNeighborhood.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.marvinproject.image.color.thresholdingNeighborhood; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class ThresholdingNeighborhood extends MarvinAbstractImagePlugin{ - - @Override - public void load() { - setAttribute("neighborhoodSide", 10); - setAttribute("samplingPixelDistance", 1); - setAttribute("thresholdPercentageOfAverage", 1.0D); - } - - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int neighborhoodSide = (Integer)getAttribute("neighborhoodSide"); - int samplingPixelDistance = (Integer)getAttribute("samplingPixelDistance"); - double thresholdPercentageOfAverage = (Double)getAttribute("thresholdPercentageOfAverage"); - - for(int y=0; y= 0 && j>= 0 && i < image.getWidth() && j < image.getHeight()){ - - int color = image.getIntComponent0(i,j); - - if(min == -1 || color < min){ - min = color; - } - if(max == -1 || color > max){ - max = color; - } - - average+=color; - pixels++; - } - } - } - - average /= pixels; - - int color = image.getIntComponent0(x,y); - - if(color < average*thresholdPercentageOfAverage || (max-min) <= 30){ - imageOut.setIntColor(x, y, 255, 0, 0, 0); - } else{ - imageOut.setIntColor(x, y, 255, 255, 255, 255); - } - - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByMask/CombineByMask.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByMask/CombineByMask.java deleted file mode 100644 index dc24f0f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByMask/CombineByMask.java +++ /dev/null @@ -1,78 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.combine.combineByMask; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Combine two images using a mask color. - * @author Gabriel Ambrosio Archanjo - */ -public class CombineByMask extends MarvinAbstractImagePlugin{ - - MarvinAttributes attributes; - - MarvinImage combinationImage; - - Color colorMask; - - private int xi=0, - yi=0; - - public void load(){ - attributes = getAttributes(); - attributes.set("xi", xi); - attributes.set("yi", yi); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process(MarvinImage imageIn, MarvinImage imageOut, MarvinAttributes attributesOut, MarvinImageMask mask, boolean previewMode){ - xi = (Integer)attributes.get("xi"); - yi = (Integer)attributes.get("yi"); - colorMask = (Color)attributes.get("colorMask"); - combinationImage = (MarvinImage)attributes.get("combinationImage"); - - int l_xCI, - l_yCI; - - int l_widthCI = combinationImage.getWidth(), - l_heightCI = combinationImage.getHeight(); - - - for(int y=0; y= 0 && l_xCI < l_widthCI && l_yCI >= 0 && l_yCI < l_heightCI){ - if(imageIn.getIntColor(x, y) == colorMask.getRGB()){ - imageOut.setIntColor(x, y, combinationImage.getIntColor(x, y)); - } - else{ - imageOut.setIntColor(x, y, imageIn.getIntColor(x, y)); - } - } - else{ - imageOut.setIntColor(x, y, imageIn.getIntColor(x, y)); - } - } - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByTransparency/CombineByTransparency.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByTransparency/CombineByTransparency.java deleted file mode 100644 index b18041d..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/combineByTransparency/CombineByTransparency.java +++ /dev/null @@ -1,109 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.combine.combineByTransparency; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Combine by transparency plug-in. - * - * @author Alan Thiago do Prado - * @version 1.0 29/01/2009 - */ -public class CombineByTransparency extends MarvinAbstractImagePlugin { - - private MarvinAttributes attributes; - - private int xi=0, - yi=0; - - private int transparency=10; - - private MarvinImage combinationImage; - - - public void load() { - attributes = getAttributes(); - attributes.set("xi", xi); - attributes.set("yi", yi); - attributes.set("transparency", transparency); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - xi = (Integer)attributes.get("xi"); - yi = (Integer)attributes.get("yi"); - combinationImage = (MarvinImage)attributes.get("combinationImage"); - transparency = (Integer)attributes.get("transparency"); - - double l_factor = (100-transparency)/100.0; - - int l_xCI, - l_yCI; - - int l_widthCI = combinationImage.getWidth(), - l_heightCI = combinationImage.getHeight(); - - double l_redA, - l_redB, - l_greenA, - l_greenB, - l_blueA, - l_blueB; - - - for(int y=0; y= 0 && l_xCI < l_widthCI && l_yCI >= 0 && l_yCI < l_heightCI){ - - l_redA = imageIn.getIntComponent0(x, y); - l_greenA = imageIn.getIntComponent1(x, y); - l_blueA = imageIn.getIntComponent2(x, y); - - l_redB = combinationImage.getIntComponent0(l_xCI, l_yCI); - l_greenB = combinationImage.getIntComponent1(l_xCI, l_yCI); - l_blueB = combinationImage.getIntComponent2(l_xCI, l_yCI); - - imageOut.setIntColor - ( - x, - y, - (int)((l_redA*(1.0-l_factor))+(l_redB*l_factor)), - (int)((l_greenA*(1.0-l_factor))+(l_greenB*l_factor)), - (int)((l_blueA*(1.0-l_factor))+(l_blueB*l_factor)) - ); - } - else{ - imageOut.setIntColor(x, y, imageIn.getIntColor(x, y)); - } - } - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/mergePhotos/MergePhotos.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/mergePhotos/MergePhotos.java deleted file mode 100644 index 76cb475..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/combine/mergePhotos/MergePhotos.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.marvinproject.image.combine.mergePhotos; - -import java.util.List; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.background.determineSceneBackground.DetermineSceneBackground; - -public class MergePhotos extends MarvinAbstractImagePlugin{ - - private MarvinImagePlugin background; - private int threshold; - - @Override - public void load() { - background = new DetermineSceneBackground(); - background.load(); - setAttribute("threshold", 30); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) { - - } - - @Override - public void process - ( - List images, - MarvinImage imageOut - ){ - if(!images.isEmpty()){ - threshold = (Integer)getAttribute("threshold"); - background.setAttribute("threshold", threshold); - MarvinImage backgroundImage = images.get(0).clone(); - background.process(images, backgroundImage); - mergePhotos(images, imageOut, backgroundImage, threshold); - } - } - - private void mergePhotos(List images, MarvinImage imageOut, MarvinImage background, int threshold){ - for(MarvinImage img:images){ - mergePhotos(img, imageOut, background, threshold); - } - } - - private void mergePhotos(MarvinImage imageA, MarvinImage imageB, MarvinImage imageBackground, int threshold){ - - int rA, gA, bA, rB, gB, bB; - for(int y=0; y threshold || - Math.abs(gA-gB) > threshold || - Math.abs(bA-bB) > threshold - ){ - - imageB.setIntColor(x, y, 255, rA, gA, bA); - } - } - } - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/convolution/Convolution.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/convolution/Convolution.java deleted file mode 100644 index 3a3e817..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/convolution/Convolution.java +++ /dev/null @@ -1,130 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.convolution; - -import javax.imageio.ImageIO; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Convolution extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - public void load(){ - - attributes = getAttributes(); - attributes.set("matrix", null); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addMatrixPanel("matrixPanel", "matrix", attributes, 3, 3); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attributesOut, - MarvinImageMask mask, - boolean previewMode - ) - { - double[][] matrix = (double[][])attributes.get("matrix"); - - if(matrix != null && matrix.length > 0){ - - for(int y=0; y= matrix.length/2 && y < imageIn.getHeight()-matrix.length/2 && x >= matrix[0].length/2 && x < imageIn.getWidth()-matrix[0].length/2){ - applyMatrix(x, y, matrix, imageIn, imageOut); - } - else{ - imageOut.setIntColor(x, y, 0xFF000000); - } - } - } - } - } - - private void applyMatrix - ( - int x, - int y, - double[][] matrix, - MarvinImage imageIn, - MarvinImage imageOut - ){ - - int nx,ny; - double resultRed=0; - double resultGreen=0; - double resultBlue=0; - - int xC=matrix[0].length/2; - int yC=matrix.length/2; - - for(int i=0; i= 0 && nx < imageOut.getWidth() && ny >= 0 && ny < imageOut.getHeight()){ - - resultRed += (matrix[i][j]*(imageIn.getIntComponent0(nx, ny))); - resultGreen += (matrix[i][j]*(imageIn.getIntComponent1(nx, ny))); - resultBlue += (matrix[i][j]*(imageIn.getIntComponent2(nx, ny))); - } - - - } - - - - } - } - - resultRed = Math.abs(resultRed); - resultGreen = Math.abs(resultGreen); - resultBlue = Math.abs(resultBlue); - - // allow the combination of multiple applications - resultRed += imageOut.getIntComponent0(x,y); - resultGreen += imageOut.getIntComponent1(x,y); - resultBlue += imageOut.getIntComponent2(x,y); - - resultRed = Math.min(resultRed, 255); - resultGreen = Math.min(resultGreen, 255); - resultBlue = Math.min(resultBlue, 255); - - resultRed = Math.max(resultRed, 0); - resultGreen = Math.max(resultGreen, 0); - resultBlue = Math.max(resultBlue, 0); - - imageOut.setIntColor(x, y, imageIn.getAlphaComponent(x, y), (int)resultRed, (int)resultGreen, (int)resultBlue); - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/harris/Harris.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/harris/Harris.java deleted file mode 100644 index d62d63f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/harris/Harris.java +++ /dev/null @@ -1,168 +0,0 @@ -/** -Marvin Project <2007-2015> -http://marvinproject.sourceforge.net - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.corner.harris; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -public class Harris extends MarvinAbstractImagePlugin { - - private MarvinImagePlugin gray; - @Override - public void load() { - gray = new GrayScale(); - gray.load(); - setAttribute("matrixSize", 7); - setAttribute("threshold", 500); - setAttribute("k", 0.004); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) { - - double k = (Double)getAttribute("k"); - int threshold = (Integer)getAttribute("threshold"); - int matrixSize = (Integer)getAttribute("matrixSize"); - - //convert to grayscale - MarvinImage tempImage = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - gray.process(imageIn, tempImage); - - //temporary variables for faster processing - int width = tempImage.getWidth(); - int height = tempImage.getHeight(); - - //array for founded corners - int[][] cornernessMapOut = new int[width][height]; - - //1.step - //calculate diffx, diffy, diffxy - double diffx[][] = new double[width][height]; - double diffy[][] = new double[width][height]; - double diffxy[][] = new double[width][height]; - - // for each line - for (int y = 1; y < height - 1; y++) - { - // for each pixel - for(int x = 1; x < width - 1; x++) - { - // Convolution with horizontal differentiation kernel mask - float X = ((tempImage.getIntComponent0(x+1, y-1) + tempImage.getIntComponent0(x+1, y) + tempImage.getIntComponent0(x+1, y+1)) - (tempImage.getIntComponent0(x-1, y-1) + tempImage.getIntComponent0(x-1, y) + tempImage.getIntComponent0(x-1, y-1))) * 0.166666667f; - - // Convolution vertical differentiation kernel mask - float Y = ((tempImage.getIntComponent0(x+1, y+1) + tempImage.getIntComponent0(x+1, y) + tempImage.getIntComponent0(x, y+1)) - (tempImage.getIntComponent0(x-1, y-1) + tempImage.getIntComponent0(x-1, y-1) + tempImage.getIntComponent0(x-1, y))) * 0.166666667f; - - diffx[x][y]= X*X; - diffy[x][y]= Y*Y; - diffxy[x][y]= X*Y; - } - } - - //2.step - //gaussian blur - double diffxGauss[][] = new double[width][height]; - double diffyGauss[][] = new double[width][height]; - double diffxyGauss[][] = new double[width][height]; - - // for each line - for (int y = 1; y < height - 1; y++) - { - // for each pixel - for(int x = 1; x < width - 1; x++) - { - - diffxGauss[x][y] = (diffx[x-1][y-1] + diffx[x][y-1] * 2 + diffx[x+1][y-1] + diffx[x-1][y] * 2 + diffx[x][y] * 4 + diffx[x+1][y] * 2 + diffx[x-1][y+1] + diffx[x][y+1] * 2 + diffx[x+1][y+1]) / 16; - - diffyGauss[x][y] = (diffy[x-1][y-1] + diffy[x][y-1] * 2 + diffy[x+1][y-1] + diffy[x-1][y] * 2 + diffy[x][y] * 4 + diffy[x+1][y] * 2 + diffy[x-1][y+1] + diffy[x][y+1] * 2 + diffy[x+1][y+1]) / 16; - - diffxyGauss[x][y] = (diffxy[x-1][y-1] + diffxy[x][y-1] * 2 + diffxy[x+1][y-1] + diffxy[x-1][y] * 2 + diffxy[x][y] * 4 + diffxy[x+1][y] * 2 + diffxy[x-1][y+1] + diffxy[x][y+1] * 2 + diffxy[x+1][y+1]) / 16; - - } - - } - - //3.step - double A,B,C,M; - int cornernessMap[][] = new int[width][height]; - // for each line - for (int y = 1; y < height - 1; y++) - { - // for each pixel - for(int x = 1; x < width - 1; x++) - { - A = diffxGauss[x][y]; - B = diffyGauss[x][y]; - C = diffxyGauss[x][y]; - - - M = (A * B - C * C) - (k * (A + B) * (A + B)); - - if(M> threshold){ - cornernessMap[x][y] = (int)M; - } - else{ - cornernessMap[x][y] = 0; - } - } - } - - //step 4 - for(int x=0; x 0){ - cornernessMapOut[x][y] = 1; - } - } - } - if(attrOut != null){ - //return the founded corners - attrOut.set("cornernessMap", cornernessMapOut); - } - } - - private int nonmax(int x, int y, int matrixSize, int[][] matrix){ - int s = matrixSize/2; - if(x-(s+1) >= 0 && x+(s+1) < matrix.length && y-(s+1) >= 0 && y+(s+1) < matrix[0].length){ - for(int i=-s; i<=s; i++){ - for(int j=-s; j<=s; j++){ - if(i != 0 || j != 0){ - if(matrix[x][y] < matrix[x+i][y+j]){ - return 0; - } - } - } - } - } - return matrix[x][y]; - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/moravec/Moravec.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/moravec/Moravec.java deleted file mode 100644 index dc16b91..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/corner/moravec/Moravec.java +++ /dev/null @@ -1,125 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.corner.moravec; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -public class Moravec extends MarvinAbstractImagePlugin { - - private MarvinImagePlugin gray; - - @Override - public void load() { - gray = new GrayScale(); - gray.load(); - setAttribute("matrixSize", 3); - setAttribute("threshold", 0); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) { - - int matrixSize = (Integer)getAttribute("matrixSize"); - int threshold = (Integer)getAttribute("threshold"); - - MarvinImage tempImage = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - gray.process(imageIn, tempImage); - - int[][] cornernessMap = new int[tempImage.getWidth()][tempImage.getHeight()]; - int[][] cornernessMapOut = new int[tempImage.getWidth()][tempImage.getHeight()]; - - for(int y=0; y 0){ - cornernessMapOut[x][y] = 1; - } - } - } - - if(attrOut != null){ - attrOut.set("cornernessMap", cornernessMapOut); - } - } - - private int nonmax(int x, int y, int matrixSize, int[][] matrix){ - int s = matrixSize/2; - if(x-(s+1) >= 0 && x+(s+1) < matrix.length && y-(s+1) >= 0 && y+(s+1) < matrix[0].length){ - for(int i=-s; i<=s; i++){ - for(int j=-s; j<=s; j++){ - if(i != 0 || j != 0){ - if(matrix[x][y] < matrix[x+i][y+j]){ - return 0; - } - } - } - } - } - return matrix[x][y]; - } - - private Integer[][] directions = new Integer[][]{{1,0}, {-1, 0}, {0, 1}, {0,-1}, {-1,-1}, {1, -1}, {-1, 1}, {1,1}}; - - private int c(int x, int y, int matrixSize, MarvinImage image){ - - int ret = -1; - int temp; - int s = matrixSize/2; - if(x-(s+1) >= 0 && x+(s+1) < image.getWidth() && y-(s+1) >= 0 && y+(s+1) < image.getHeight()){ - - for(int d=0; d -http://marvinproject.sourceforge.net/ - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.corner.susan; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -public class Susan extends MarvinAbstractImagePlugin { - - private MarvinImagePlugin gray; - @Override - public void load() { - gray = new GrayScale(); - gray.load(); - setAttribute("matrixSize", 7); - setAttribute("threshold", 100); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) { - - int threshold = (Integer)getAttribute("threshold"); - int matrixSize = (Integer)getAttribute("matrixSize"); - - //convert to grayscale - MarvinImage tempImage = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - gray.process(imageIn, tempImage); - - //temporary variables for faster processing - int width = tempImage.getWidth(); - int height = tempImage.getHeight(); - - //SUSAN specific valuables - int USAN = 0; //number of pixels in circle - int[][] usan = new int[width][height]; //every pixels' usan value - - //array for founded corners - int[][] cornernessMapOut = new int[width][height]; - int[][] cornernessMap = new int[width][height]; - - //1. step - //generate mask - boolean[][] circleMask = new boolean[matrixSize][matrixSize]; - USAN = 0; - - for (int i = 0; i < matrixSize; i++) - { - for (int j = 0; j < matrixSize; j++) - { - if (Math.pow(i - (matrixSize/2) , 2) + Math.pow(j - (matrixSize/2), 2) <= Math.pow(((double)(matrixSize)/2.0), 2)) - { - circleMask[i][j] = true; - USAN++; - } - else - { - circleMask[i][j] = false; - } - } - } - - //2. step - //calculate usan values for every pixels - //in every line - for (int i = 0; i < width; i += 1) - { - //in every row - for (int j = 0; j < height; j += 1) - { - int blockradius = matrixSize / 2; - //resize the circle if it is too big - if (i - blockradius < 0) blockradius = i; - if (j - blockradius < 0) blockradius = j; - if (i + blockradius > width - 1)blockradius = width - 1 - i; - if (j + blockradius > height - 1)blockradius = height - 1 - j; - - //define the nucleus - - int nucleusValue = tempImage.getIntComponent0(i, j); - - //iterating through the circle - for (int BRi = i - blockradius; BRi <= i + blockradius; BRi++) - { - for (int BRj = j - blockradius; BRj <= j + blockradius; BRj++) - { - if (BRi == i && BRj == j) continue; //do not consider the nucleus - if (circleMask[BRi - i + blockradius][BRj - j + blockradius] == false) continue; //outside of the mask - - if (Math.abs(tempImage.getIntComponent0(BRi, BRj) - nucleusValue) < threshold) - { - usan[i][j]++; - } - } - } - - } - } - - //3.step - //find the corner points - int max = 3 * USAN / 4; - //in every line - for (int i = 0; i < width; i += 1) - { - //in every row - for (int j = 0; j < height; j += 1) - { - if(Math.abs(max - usan[i][j]) < 2) - { - cornernessMap[i][j] = 255 - (Math.abs(max - usan[i][j])); - } - } - } - - //4.step - for(int x=0; x 0){ - cornernessMapOut[x][y] = 1; - } - } - } - - if(attrOut != null){ - //return the founded corners - attrOut.set("cornernessMap", cornernessMapOut); - } - } - - private int nonmax(int x, int y, int matrixSize, int[][] matrix){ - int s = matrixSize/2; - if(x-(s+1) >= 0 && x+(s+1) < matrix.length && y-(s+1) >= 0 && y+(s+1) < matrix[0].length){ - for(int i=-s; i<=s; i++){ - for(int j=-s; j<=s; j++){ - if(i != 0 || j != 0){ - if(matrix[x][y] < matrix[x+i][y+j]){ - return 0; - } - } - } - } - } - return matrix[x][y]; - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceColor/DifferenceColor.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceColor/DifferenceColor.java deleted file mode 100644 index a8164eb..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceColor/DifferenceColor.java +++ /dev/null @@ -1,95 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.difference.differenceColor; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Find the difference between two images considering the pixel´s color. - * @author Gabriel - * - */ -public class DifferenceColor extends MarvinAbstractImagePlugin{ - - private MarvinAttributes attributes; - private MarvinImage imageB; - - private int colorRGB; - private int colorRange; - - public void load(){ - setAttribute("colorRange", 30); - setAttribute("differenceColor", Color.green); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - @Override - public void process(MarvinImage imgIn, MarvinImage imgOut, - MarvinAttributes attrOut, MarvinImageMask mask, boolean previewMode) { - - int colorRange = (Integer)getAttribute("colorRange"); - diff(imgIn, imgOut, colorRange, attrOut); - } - - - private void diff(MarvinImage imageA, MarvinImage imageB, int colorRange, MarvinAttributes attrOut){ - int l_redA, - l_redB, - l_greenA, - l_greenB, - l_blueA, - l_blueB; - - int total=0; - for(int y=0; y colorRange || - Math.abs(l_greenA-l_greenB)> colorRange || - Math.abs(l_blueA-l_blueB)> colorRange - ) - { - if(imageB != null){ - imageB.setIntColor(x, y, colorRGB); - } - total++; - } - else{ - if(imageB != null){ - imageB.setIntColor(x, y, imageA.getIntColor(x,y)); - } - } - } - } - - if(attrOut != null){ - attrOut.set("total", total); - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceGray/DifferenceGray.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceGray/DifferenceGray.java deleted file mode 100644 index cfb853f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differenceGray/DifferenceGray.java +++ /dev/null @@ -1,94 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.difference.differenceGray; - -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; - -import javax.imageio.ImageIO; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.util.MarvinErrorHandler; -import marvin.util.MarvinFileChooser; - -/** - * Absolute difference between two images considering the gray scale. - * @author Danilo Rosetto Muńoz - * @version 1.0 03/28/2008 - */ - -public class DifferenceGray extends MarvinAbstractImagePlugin{ - - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //Selects the other image to apply th difference - String file = null; - BufferedImage buffImage2=null; - - try { - //Open the file browser dialog - file = MarvinFileChooser.select(null, true, MarvinFileChooser.OPEN_DIALOG); - } catch (Exception e) { - MarvinErrorHandler.handleDialog(MarvinErrorHandler.TYPE.ERROR_FILE_CHOOSE, e); - return; - } - - if(file == null) return; - - //Loads the image to the memory and creates an MarvinImage - try{ - buffImage2 = ImageIO.read(new File(file)); - }catch (IOException ioe) { - MarvinErrorHandler.handleDialog(MarvinErrorHandler.TYPE.ERROR_FILE_OPEN, ioe); - return; - } - - MarvinImage image2 = new MarvinImage(buffImage2); - - //Gets the minimum width and height - int minX = Math.min(a_imageIn.getWidth(), image2.getWidth()); - int minY = Math.min(a_imageIn.getHeight(), image2.getHeight()); - - for (int x = 0; x < minX; x++) { - for (int y = 0; y < minY; y++) { - //Calculate the difference - - //Gets the gray scale value - int gray = (int)((a_imageIn.getIntComponent0(x, y)*0.3) + (a_imageIn.getIntComponent1(x, y)*0.11) + (a_imageIn.getIntComponent2(x, y)*0.59)); - int gray1 = (int)((image2.getIntComponent0(x, y)*0.3) + (image2.getIntComponent1(x, y)*0.11) + (image2.getIntComponent2(x, y)*0.59)); - - //Makes the absolute difference - int diff = Math.abs(gray - gray1); - int v = (diff / 2); - - //Sets the value to the new image - a_imageOut.setIntColor(x, y, v, v, v); - } - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differentRegions/DifferentRegions.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differentRegions/DifferentRegions.java deleted file mode 100644 index 42839fd..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/difference/differentRegions/DifferentRegions.java +++ /dev/null @@ -1,168 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.difference.differentRegions; - -import java.util.Vector; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Find the different regions between two images. - * @author Gabriel Ambrosio Archanjo - */ -public class DifferentRegions extends MarvinAbstractImagePlugin{ - - private MarvinAttributes attributes; - private MarvinImage comparisonImage; - - private int[][] arrPixelsPerSubRegion; - private boolean[][] arrRegionMask; - - private int width; - private int height; - private int colorRange; - - private int subRegionSide=10; - private boolean initialized = false; - - public void load(){ - attributes = getAttributes(); - attributes.set("colorRange", 30); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process(MarvinImage a_imageIn, MarvinImage a_imageOut, MarvinAttributes a_attributesOut, MarvinImageMask a_mask, boolean a_previewMode){ - int l_redA, - l_redB, - l_greenA, - l_greenB, - l_blueA, - l_blueB; - - comparisonImage = (MarvinImage)attributes.get("comparisonImage"); - colorRange = (Integer)attributes.get("colorRange"); - width = a_imageIn.getWidth(); - height = a_imageIn.getHeight(); - - if(!initialized){ - arrPixelsPerSubRegion = new int[width/subRegionSide][height/subRegionSide]; - arrRegionMask = new boolean[width/subRegionSide][height/subRegionSide]; - initialized = true; - } - - clearRegions(); - - for(int y=0; y colorRange || - Math.abs(l_greenA-l_greenB)> colorRange || - Math.abs(l_blueA-l_blueB)> colorRange - ) - { - arrPixelsPerSubRegion[x/subRegionSide][y/subRegionSide]++; - } - } - } - - Vector l_vecRegions = new Vector(); - int[] l_rect; - - while(true){ - l_rect = new int[4]; - l_rect[0] = -1; - - JoinRegions(l_rect); - if(l_rect[0] != -1){ - l_vecRegions.add(l_rect); - } - else{ - break; - } - } - a_attributesOut.set("regions", l_vecRegions); - } - - private boolean JoinRegions(int[] a_rect){ - for(int x=0; x (subRegionSide*subRegionSide/2) && !arrRegionMask[x][y]){ - arrRegionMask[x][y] = true; - a_rect[0] = x*subRegionSide; - a_rect[1] = y*subRegionSide; - a_rect[2] = x*subRegionSide; - a_rect[3] = y*subRegionSide; - - testNeighbors(a_rect, x,y); - return true; - } - } - } - return false; - } - - private void testNeighbors(int[] a_rect, int a_x, int a_y){ - for(int x=a_x-5; x 0 && x 0 && y (subRegionSide*subRegionSide/2) && !arrRegionMask[x][y]){ - if(x*subRegionSide < a_rect[0]){ - a_rect[0] = x*subRegionSide; - } - if(x*subRegionSide > a_rect[2]){ - a_rect[2] = x*subRegionSide; - } - - if(y*subRegionSide < a_rect[1]){ - a_rect[1] = y*subRegionSide; - } - if(y*subRegionSide > a_rect[3]){ - a_rect[3] = y*subRegionSide; - } - - arrRegionMask[x][y] = true; - testNeighbors(a_rect, x,y); - } - } - } - } - } - - private void clearRegions(){ - for(int x=0; x -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.edge.edgeDetector; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Edge detection plug-in. Reference: {@link http://www.cs.princeton.edu/introcs/31datatype/EdgeDetector.java.html} - * @authors Danilo Rosetto Muńoz, Ivan Francisco Coutinho Costa - * @version 1.0 02/28/2008 - */ - -public class EdgeDetector extends MarvinAbstractImagePlugin { - - private MarvinPerformanceMeter performanceMeter; - private Color grayMatrix[] = new Color[256]; - - public void load() { - performanceMeter = new MarvinPerformanceMeter(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - // Image size - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - boolean[][] mask = a_mask.getMask(); - //System.out.println("time:"+(System.currentTimeMillis()-time)); - - performanceMeter.start("EdgeDetector"); - performanceMeter.enableProgressBar("EdgeDetector", - ((height - 2) * (width - 2))); - performanceMeter.startEvent("Sobel filter"); - - //MarvinImage img2 = new MarvinImage(width, height); - - // Init gray matrix - for (int i = 0; i <= 255; i++) { - grayMatrix[i] = new Color(i, i, i); - } - - int [][] luminance = new int[width][height]; - - for (int y = 0; y < height ; y++) { - for (int x = 0; x < width ; x++) { - - if(mask != null && !mask[x][y]){ - continue; - } - - luminance[x][y] = (int) luminance(a_imageIn.getIntComponent0(x, y), - a_imageIn.getIntComponent1(x, y), a_imageIn.getIntComponent2(x, y)); - - } - } - - //System.out.println("time:"+(System.currentTimeMillis()-time)); - - int grayX, grayY; - int magnitude; - //for (int y = 1; y < height - 1; y++) { - //for (int x = 1; x < width - 1; x++) { - for (int y = 1; y < height-1; y++) { - for (int x = 1; x < width-1; x++) { - - if(mask != null && !mask[x][y]){ - continue; - } - - grayX = - luminance[x-1][y-1] + luminance[x-1][y-1+2] - - 2* luminance[x-1+1][y-1] + 2* luminance[x-1+1][y-1+2] - - luminance[x-1+2][y-1]+ luminance[x-1+2][y-1+2]; - grayY = luminance[x-1][y-1] + 2* luminance[x-1][y-1+1] + luminance[x-1][y-1+2] - - luminance[x-1+2][y-1] - 2* luminance[x-1+2][y-1+1] - luminance[x-1+2][y-1+2]; - - // Magnitudes sum - grayX=0; - magnitude = 255 - truncate(Math.abs(grayX) - + Math.abs(grayY)); - - Color grayscaleColor = grayMatrix[magnitude]; - - // Apply the color into a new image - a_imageOut.setIntColor(x, y, grayscaleColor.getRGB()); - } - performanceMeter.incProgressBar(width); - } - - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - /** - * Sets the RGB between 0 and 255 - * - * @param a - * @return - */ - private int truncate(int a) { - if (a < 0) - return 0; - else if (a > 255) - return 255; - else - return a; - } - - /** - * Apply the luminance - * - * @param r - * @param g - * @param b - * @return - */ - private int luminance(int r, int g, int b) { - // Y = 0.299 r + 0.587g + 0.114b - return (int) ((0.299 * r) + (0.58 * g) + (0.11 * b)); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/prewitt/Prewitt.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/prewitt/Prewitt.java deleted file mode 100644 index ff5b097..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/prewitt/Prewitt.java +++ /dev/null @@ -1,77 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.edge.prewitt; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.math.MarvinMath; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.convolution.Convolution; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Prewitt extends MarvinAbstractImagePlugin{ - - // Definitions - double[][] matrixPrewittX = new double[][]{ - {1, 0, -1}, - {1, 0, -1}, - {1, 0, -1} - }; - - double[][] matrixPrewittY = new double[][]{ - {1, 1, 1}, - {0, 0, 0}, - {-1, -1, -1} - }; - - private MarvinImagePlugin convolution; - - public void load(){ - convolution = new Convolution(); - convolution.load(); - setAttribute("intensity", 1.0); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - double intensity = (Double)getAttribute("intensity"); - - if(intensity == 1){ - convolution.setAttribute("matrix", matrixPrewittX); - convolution.process(imageIn, imageOut, null, mask, previewMode); - convolution.setAttribute("matrix", matrixPrewittY); - convolution.process(imageIn, imageOut, null, mask, previewMode); - } else{ - convolution.setAttribute("matrix", MarvinMath.scaleMatrix(matrixPrewittX, intensity)); - convolution.process(imageIn, imageOut, null, mask, previewMode); - convolution.setAttribute("matrix", MarvinMath.scaleMatrix(matrixPrewittY, intensity)); - convolution.process(imageIn, imageOut, null, mask, previewMode); - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/roberts/Roberts.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/roberts/Roberts.java deleted file mode 100644 index 2990ed0..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/roberts/Roberts.java +++ /dev/null @@ -1,65 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.edge.roberts; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.convolution.Convolution; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Roberts extends MarvinAbstractImagePlugin{ - - // Definitions - double[][] matrixRobertsX = new double[][]{ - {1, 0}, - {0, -1} - }; - - double[][] matrixRobertsY = new double[][]{ - {0, 1}, - {-1, 0} - }; - - private MarvinImagePlugin convolution; - - public void load(){ - convolution = new Convolution(); - convolution.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - convolution.setAttribute("matrix", matrixRobertsX); - convolution.process(imageIn, imageOut, null, mask, previewMode); - - convolution.setAttribute("matrix", matrixRobertsY); - convolution.process(imageIn, imageOut, null, mask, previewMode); - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/sobel/Sobel.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/sobel/Sobel.java deleted file mode 100644 index 8456526..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/edge/sobel/Sobel.java +++ /dev/null @@ -1,67 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.edge.sobel; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.convolution.Convolution; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Sobel extends MarvinAbstractImagePlugin{ - - // Definitions - double[][] matrixSobelX = new double[][]{ - {1, 0, -1}, - {2, 0, -2}, - {1, 0, -1} - }; - - double[][] matrixSobelY = new double[][]{ - {-1, -2, -1}, - {0, 0, 0}, - {1, 2, 1} - }; - - private MarvinImagePlugin convolution; - - public void load(){ - convolution = new Convolution(); - convolution.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - convolution.setAttribute("matrix", matrixSobelX); - convolution.process(imageIn, imageOut, null, mask, previewMode); - - convolution.setAttribute("matrix", matrixSobelY); - convolution.process(imageIn, imageOut, null, mask, previewMode); - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/equalization/histogramEqualization/HistogramEqualization.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/equalization/histogramEqualization/HistogramEqualization.java deleted file mode 100644 index c065830..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/equalization/histogramEqualization/HistogramEqualization.java +++ /dev/null @@ -1,108 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.equalization.histogramEqualization; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class HistogramEqualization extends MarvinAbstractImagePlugin{ - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) { - - boolean[][] bmask = mask.getMask(); - - // histogram - int[] histRed = new int[256]; - int[] histGreen = new int[256]; - int[] histBlue = new int[256]; - int red, green, blue; - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.fill.boundaryFill; - -import java.awt.Color; -import java.awt.Point; -import java.util.LinkedList; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.texture.tileTexture.TileTexture; - -public class BoundaryFill extends MarvinAbstractImagePlugin{ - - @Override - public void load() { - setAttribute("x", 0); - setAttribute("y", 0); - setAttribute("color", Color.red); - setAttribute("tile", null); - setAttribute("threshold", 0); - } - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - LinkedList l_list = new LinkedList(); - Point l_point, - l_pointW, - l_pointE; - - //MarvinImage.copyColorArray(imgIn, imgOut); - - int x = (Integer)getAttribute("x"); - int y = (Integer)getAttribute("y"); - MarvinImage tileImage = (MarvinImage)(getAttribute("tile")); - int threshold = (Integer)getAttribute("threshold"); - - if(!imgOut.isValidPosition(x, y)){ - return; - } - - int targetColor = imgIn.getIntColor(x, y); - int targetRed = imgIn.getIntComponent0(x, y); - int targetGreen = imgIn.getIntComponent1(x, y); - int targetBlue = imgIn.getIntComponent2(x, y); - Color color = (Color)getAttribute("color"); - int newColor = color.getRGB(); - - boolean fillMask[][] = new boolean[imgOut.getWidth()][imgOut.getHeight()]; - fillMask[x][y] = true; - - - l_list.add(new Point(x, y)); - - //for(int l_i=0; l_i 0){ - l_point = l_list.poll(); - l_pointW = new Point(l_point.x, l_point.y); - l_pointE = new Point(l_point.x, l_point.y); - - // west - while(true){ - if(l_pointW.x-1 >= 0 && match(imgIn, l_pointW.x-1, l_pointW.y, targetRed, targetGreen, targetBlue, threshold) && !fillMask[l_pointW.x-1][l_pointW.y]){ - l_pointW.x--; - } - else{ - break; - } - } - - // east - while(true){ - if(l_pointE.x+1 < imgIn.getWidth() && match(imgIn, l_pointE.x+1, l_pointE.y, targetRed, targetGreen, targetBlue, threshold) && !fillMask[l_pointE.x+1][l_pointE.y]){ - l_pointE.x++; - } - else{ - break; - } - } - - // set color of pixels between pointW and pointE - for(int l_px=l_pointW.x; l_px<=l_pointE.x; l_px++){ - //imgOut.setIntColor(l_px, l_point.y, -1); - //drawPixel(imgOut, l_px, l_point.y, newColor, tileImage); - fillMask[l_px][l_point.y] = true; - - if(l_point.y-1 >= 0 && match(imgIn, l_px, l_point.y-1, targetRed, targetGreen, targetBlue, threshold) && !fillMask[l_px][l_point.y-1]){ - l_list.add(new Point(l_px, l_point.y-1)); - } - if(l_point.y+1 < imgOut.getHeight() && match(imgIn, l_px, l_point.y+1, targetRed, targetGreen, targetBlue, threshold) && !fillMask[l_px][l_point.y+1]){ - l_list.add(new Point(l_px, l_point.y+1)); - } - } - } - - if(tileImage != null){ - MarvinImagePlugin p = new TileTexture(); - p.load(); - p.setAttribute("lines", (int)(Math.ceil((double)imgOut.getHeight()/tileImage.getHeight()))); - p.setAttribute("columns", (int)(Math.ceil((double)imgOut.getWidth()/tileImage.getWidth()))); - p.setAttribute("tile", tileImage); - MarvinImageMask newMask = new MarvinImageMask(fillMask); - p.process(imgOut, imgOut, null, newMask, false); - } - else{ - for(int j=0; j -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.halftone.circles; - - -import java.awt.Color; -import java.awt.Graphics; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Halftone using circles. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/28/2008 - */ -public class Circles extends MarvinAbstractImagePlugin -{ - private int circleWidth; - private int shift; - private int circlesDistance; - - MarvinPerformanceMeter performanceMeter; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - attributes.set("circleWidth", 6); - attributes.set("shift", 0); - attributes.set("circlesDistance", 0); - performanceMeter = new MarvinPerformanceMeter(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Circle width:"); - attributesPanel.addTextField("txtCircleWidth", "circleWidth", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblShift", "Line Shift:"); - attributesPanel.addTextField("txtShift", "shift", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblDistance", "Circles distance:"); - attributesPanel.addTextField("lblCirclesDistance", "circlesDistance", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - double l_intensity; - - circleWidth = (Integer)attributes.get("circleWidth"); - shift = (Integer)attributes.get("shift"); - circlesDistance = (Integer)attributes.get("circlesDistance"); - - Graphics l_graphics = a_imageOut.getBufferedImage().getGraphics(); - - // Gray - MarvinImagePlugin l_filter = new GrayScale(); - l_filter.load(); - l_filter.process(a_imageIn, a_imageIn, a_attributesOut, a_mask, a_previewMode); - - performanceMeter.enableProgressBar("Halftone - Circles" , (a_imageIn.getHeight()/(circleWidth+circlesDistance))*(a_imageIn.getWidth()/(circleWidth+circlesDistance))); - - boolean[][] l_arrMask = a_mask.getMask(); - - int l_dif=0; - for (int y = 0; y < a_imageIn.getHeight(); y+=circleWidth+circlesDistance) { - for (int x = 0+l_dif; x < a_imageIn.getWidth(); x+=circleWidth+circlesDistance) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - l_intensity = getSquareIntensity(x,y,a_imageIn); - l_intensity+=1.0/circleWidth; - l_graphics.setColor(Color.white); - l_graphics.fillRect(x,y,circleWidth+circlesDistance,circleWidth+circlesDistance); - l_graphics.setColor(Color.black); - l_graphics.fillArc((int)(x+(circleWidth-(l_intensity*circleWidth))/2), (int)(y+(circleWidth-(l_intensity*circleWidth))/2), (int)(l_intensity*(circleWidth)), (int)(l_intensity*(circleWidth)),1,360); - } - l_dif = (l_dif+shift)%circleWidth; - performanceMeter.stepsFinished((a_imageIn.getWidth()/(circleWidth+circlesDistance))); - } - a_imageOut.updateColorArray(); - performanceMeter.finish(); - } - - private double getSquareIntensity(int a_x, int a_y, MarvinImage image){ - double l_totalValue=0; - for(int y=0; y 0 && a_x+x < image.getWidth() && a_y+y> 0 && a_y+y < image.getHeight()){ - l_totalValue+= 255-(image.getIntComponent0(a_x+x,a_y+y)); - } - } - } - return (l_totalValue/(circleWidth*circleWidth*255)); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/dithering/Dithering.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/dithering/Dithering.java deleted file mode 100644 index 2872eb5..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/dithering/Dithering.java +++ /dev/null @@ -1,93 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.halftone.dithering; - - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Halftone dithering implementation. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/28/2008 - */ -public class Dithering extends MarvinAbstractImagePlugin -{ - private static final int DOT_AREA = 5; - private static final int arrDither[] = { 167,200,230,216,181, - 94,72,193,242,232, - 36,52,222,167,200, - 181,126,210,94,72, - 232,153,111,36,52 - }; - - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - // Gray - MarvinImagePlugin l_filter = new GrayScale(); - l_filter.load(); - l_filter.process(a_imageIn, a_imageIn, a_attributesOut, a_mask, a_previewMode); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < a_imageIn.getWidth(); x+=DOT_AREA) { - for (int y = 0; y < a_imageIn.getHeight(); y+=DOT_AREA) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - drawTone(x,y,a_imageIn, a_imageOut); - } - } - } - - private void drawTone(int a_x, int a_y, MarvinImage a_imageIn, MarvinImage a_imageOut){ - int l_grayIntensity; - int l_x; - int l_y; - - for(int x=0; x arrDither[x]){ - a_imageOut.setIntColor(a_x+l_x, a_y+l_y, a_imageIn.getAlphaComponent(a_x+l_x, a_y+l_y), 0,0,0); - } - else{ - a_imageOut.setIntColor(a_x+l_x, a_y+l_y, a_imageIn.getAlphaComponent(a_x+l_x, a_y+l_y), 255,255,255); - } - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/errorDiffusion/ErrorDiffusion.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/errorDiffusion/ErrorDiffusion.java deleted file mode 100644 index 76a696b..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/errorDiffusion/ErrorDiffusion.java +++ /dev/null @@ -1,129 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.halftone.errorDiffusion; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Halftone Error Diffusion implementation. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/28/2008 - - * @author danilo - * - */ -public class ErrorDiffusion extends MarvinAbstractImagePlugin -{ - int threshold; - private MarvinPerformanceMeter performanceMeter; - - public void load(){ - performanceMeter = new MarvinPerformanceMeter(); - threshold = 128; - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - int color; - double dif; - - // Gray - MarvinImagePlugin l_filter = new GrayScale(); - l_filter.load(); - l_filter.process(a_imageIn, a_imageOut, a_attributesOut, a_mask, a_previewMode); - - performanceMeter.start("Halftone - Error Diffusion"); - performanceMeter.enableProgressBar("Halftone - Error Diffusion", a_imageOut.getHeight()*a_imageOut.getWidth()); - performanceMeter.startEvent("Error Diffusion"); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int y = 0; y < a_imageOut.getHeight(); y++) { - for (int x = 0; x < a_imageOut.getWidth(); x++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - color = a_imageOut.getIntComponent0(x, y); - if(color > threshold){ - a_imageOut.setIntColor(x,y,a_imageIn.getAlphaComponent(x,y), 255,255,255); - dif = -(255-color); - } - else{ - a_imageOut.setIntColor(x,y,a_imageIn.getAlphaComponent(x,y), 0,0,0); - dif = color; - } - - // Pixel Right - if(x+1 < a_imageOut.getWidth()){ - color = a_imageOut.getIntComponent0(x+1,y); - color+=(int)(0.4375*dif); - color = getValidGray(color); - a_imageOut.setIntColor(x+1,y,a_imageIn.getAlphaComponent(x+1,y), color,color,color); - - // Pixel Right Down - if(y+1 < a_imageOut.getHeight()){ - color = a_imageOut.getIntComponent0(x+1,y+1); - color+=(int)(0.0625*dif); - color = getValidGray(color); - a_imageOut.setIntColor(x+1,y+1,a_imageIn.getAlphaComponent(x+1,y+1), color,color,color); - } - } - - // Pixel Down - if(y+1 < a_imageOut.getHeight()){ - color = a_imageOut.getIntComponent0(x,y+1); - color+=(int)(0.3125*dif); - color = getValidGray(color); - a_imageOut.setIntColor(x,y+1,a_imageIn.getAlphaComponent(x,y+1), color,color,color); - - // Pixel Down Left - if(x-1 >= 0){ - color = a_imageOut.getIntComponent0(x-1,y+1); - color+=(int)(0.1875*dif); - color = getValidGray(color); - a_imageOut.setIntColor(x-1,y+1,a_imageIn.getAlphaComponent(x-1,y+1), color,color,color); - } - } - } - performanceMeter.stepsFinished(a_imageOut.getWidth()); - performanceMeter.incProgressBar(a_imageOut.getWidth()); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - private int getValidGray(int a_value){ - if(a_value < 0) return 0; - if(a_value > 255) return 255; - return a_value; - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/rylanders/Rylanders.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/rylanders/Rylanders.java deleted file mode 100644 index bf0f157..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/halftone/rylanders/Rylanders.java +++ /dev/null @@ -1,107 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.halftone.rylanders; - - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Halftone Rylanders implementation. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/28/2008 - */ -public class Rylanders extends MarvinAbstractImagePlugin -{ - private static final int DOT_AREA = 4; - private static final int arrPattern[] = { 1,9,3,11, - 5,13,7,15, - 4,12,2,10, - 8,16,6,14 - }; - - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - double l_intensity; - - // Gray - MarvinImagePlugin l_filter = new GrayScale(); - l_filter.load(); - l_filter.process(a_imageIn, a_imageIn, a_attributesOut, a_mask, a_previewMode); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < a_imageIn.getWidth(); x+=DOT_AREA) { - for (int y = 0; y < a_imageIn.getHeight(); y+=DOT_AREA) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - l_intensity = getSquareIntensity(x,y,a_imageIn); - drawTone(x,y,a_imageIn, a_imageOut, l_intensity); - } - } - } - - private void drawTone(int a_x, int a_y, MarvinImage a_imageIn, MarvinImage a_imageOut, double a_intensity){ - double l_factor = 1.0/15; - int l_toneIntensity = (int)Math.floor(a_intensity/l_factor); - int l_x; - int l_y; - - for(int x=0; x= arrPattern[x]){ - a_imageOut.setIntColor(a_x+l_x, a_y+l_y, 0,0,0); - } - else{ - a_imageOut.setIntColor(a_x+l_x, a_y+l_y, 255,255,255); - } - } - } - } - - private double getSquareIntensity(int a_x, int a_y, MarvinImage image){ - double l_totalValue=0; - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.histogram.colorHistogram; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinPluginWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.statistic.MarvinHistogram; -import marvin.statistic.MarvinHistogramEntry; -import marvin.util.MarvinAttributes; - -/** - * Color histogram is a representation of the RGB colors distribution. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/13/2008 - */ -public class ColorHistogram extends MarvinAbstractImagePlugin -{ - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - MarvinHistogram l_histoRed = new MarvinHistogram("Red Intensity"); - l_histoRed.setBarWidth(1); - - MarvinHistogram l_histoGreen = new MarvinHistogram("Green Intensity"); - l_histoGreen.setBarWidth(1); - - MarvinHistogram l_histoBlue = new MarvinHistogram("Blue Intensity"); - l_histoBlue.setBarWidth(1); - - int l_arrRed[] = new int[256]; - int l_arrGreen[] = new int[256]; - int l_arrBlue[] = new int[256]; - - for (int x = 0; x < a_imageIn.getWidth(); x++) { - for (int y = 0; y < a_imageIn.getHeight(); y++) { - l_arrRed[a_imageIn.getIntComponent0(x, y)]++; - l_arrGreen[a_imageIn.getIntComponent1(x, y)]++; - l_arrBlue[a_imageIn.getIntComponent2(x, y)]++; - } - } - - for(int x=0; x<256; x++){ - l_histoRed.addEntry(new MarvinHistogramEntry(x, l_arrRed[x], new Color(x, 0, 0))); - l_histoGreen.addEntry(new MarvinHistogramEntry(x, l_arrGreen[x], new Color(0, x, 0))); - l_histoBlue.addEntry(new MarvinHistogramEntry(x, l_arrBlue[x], new Color(0, 0, x))); - } - - MarvinAttributesPanel panel = new MarvinAttributesPanel(); - panel.addImage("histoRed", l_histoRed.getImage(400,200)); - panel.newComponentRow(); - panel.addImage("histoGreen", l_histoGreen.getImage(400,200)); - panel.newComponentRow(); - panel.addImage("histoBlue", l_histoBlue.getImage(400,200)); - panel.setVisible(true); - - MarvinPluginWindow pluginWindow = new MarvinPluginWindow("Color Histogram", 440,580, panel); - pluginWindow.setVisible(true); - - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/histogram/grayHistogram/GrayHistogram.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/histogram/grayHistogram/GrayHistogram.java deleted file mode 100644 index 13a8ab1..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/histogram/grayHistogram/GrayHistogram.java +++ /dev/null @@ -1,76 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.histogram.grayHistogram; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinPluginWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.statistic.MarvinHistogram; -import marvin.statistic.MarvinHistogramEntry; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * Gray histogram is a representation of the gray scale distribution. - * @author Gabriel Ambrósio Archanjo - * @version 1.0 02/13/2008 - */ -public class GrayHistogram extends MarvinAbstractImagePlugin -{ - MarvinImagePlugin pluginGray; - public void load(){ - pluginGray = new GrayScale(); - pluginGray.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - pluginGray.process(a_imageIn, a_imageOut, a_attributesOut, a_mask, a_previewMode); - - MarvinHistogram l_histoGray = new MarvinHistogram("Gray Intensity"); - l_histoGray.setBarWidth(1); - - int l_arrGray[] = new int[256]; - - for (int x = 0; x < a_imageOut.getWidth(); x++) { - for (int y = 0; y < a_imageOut.getHeight(); y++) { - l_arrGray[a_imageOut.getIntComponent0(x, y)]++; - } - } - - for(int x=0; x<256; x++){ - l_histoGray.addEntry(new MarvinHistogramEntry(x, l_arrGray[x], new Color(x, x, x))); - } - - MarvinAttributesPanel panel = new MarvinAttributesPanel(); - panel.addImage("histoGray", l_histoGray.getImage(400,200)); - panel.newComponentRow(); - - MarvinPluginWindow pluginWindow = new MarvinPluginWindow("Gra Histogram", 400, 200, panel); - pluginWindow.setVisible(true); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/interfaceTest/InterfaceTest.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/interfaceTest/InterfaceTest.java deleted file mode 100644 index 9f1c6af..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/interfaceTest/InterfaceTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - - -package org.marvinproject.image.interfaceTest; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Marvin GUI test plug-in. This plug-in do not affect the image. - * @version 02/28/08 - * @author Gabriel Ambrósio Archanjo - */ -public class InterfaceTest extends MarvinAbstractImagePlugin -{ - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - attributes.set("red", 10); - attributes.set("green", 50); - attributes.set("blue", 125); - attributes.set("filter", "option 1"); - attributes.set("intensity", "option 1"); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("labelRed", "Red:"); - attributesPanel.addTextField("textRed", "red", attributes); - - attributesPanel.addLabel("labelGreen", "Green:"); - attributesPanel.addTextField("textGreen", "green", attributes); - - attributesPanel.addLabel("labelBlue", "Red:"); - attributesPanel.addTextField("textBlue", "blue", attributes); - - attributesPanel.newComponentRow(); - attributesPanel.addComboBox("comboFilter", "filter", new Object[]{"option 1", "option 2", "option 3"}, attributes); - - attributesPanel.newComponentRow(); - attributesPanel.addLabel("labelIntensity", "Intensity:"); - attributesPanel.addHorizontalSlider("sliderIntensity", "intensity", -100,100,0, attributes); - - attributesPanel.newComponentRow(); - attributesPanel.addCheckBox("checkboxTest", "Check Me!", "checkbox1", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - System.out.println("Values received from GUI:"); - System.out.println("red:"+(Integer)attributes.get("red")); - System.out.println("green:"+(Integer)attributes.get("green")); - System.out.println("blue:"+(Integer)attributes.get("blue")); - System.out.println("filter:"+(String)attributes.get("filter")); - System.out.println("intensity:"+(Integer)attributes.get("intensity")); - System.out.println("checkbox checked:"+(Boolean)attributes.get("checkbox1")); - - a_imageOut.setIntColorArray(a_imageIn.getIntColorArray()); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/boundary/Boundary.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/boundary/Boundary.java deleted file mode 100644 index 4aebf40..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/boundary/Boundary.java +++ /dev/null @@ -1,75 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.boundary; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.morphological.erosion.Erosion; - -public class Boundary extends MarvinAbstractImagePlugin{ - - private MarvinImagePlugin pluginErosion; - private boolean[][] matrix; - - - @Override - public void load() { - matrix = new boolean[][] - { - {true,true,true}, - {true,true,true}, - {true,true,true}, - }; - - pluginErosion = new Erosion(); - pluginErosion.load(); - pluginErosion.setAttribute("matrix", matrix); - } - - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY){ - pluginErosion.process(imgIn, imgOut, attrOut, mask, previewMode); - diff(imgIn, imgOut); - } - } - - private void diff(MarvinImage imgIn, MarvinImage imgOut){ - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.closing; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.morphological.dilation.Dilation; -import org.marvinproject.image.morphological.erosion.Erosion; - -public class Closing extends MarvinAbstractImagePlugin{ - - private boolean matrix[][]; - - private MarvinImagePlugin pluginDilation, - pluginErosion; - - - @Override - public void load() { - setAttribute("matrix", matrix); - - pluginDilation = new Dilation(); - pluginDilation.load(); - pluginErosion = new Erosion(); - pluginErosion.load(); - } - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - matrix = (boolean[][])getAttribute("matrix"); - - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY && matrix != null){ - - pluginDilation.setAttribute("matrix", (boolean[][])getAttribute("matrix")); - pluginDilation.process(imgIn, imgOut, attrOut, mask, previewMode); - - MarvinImage.copyColorArray(imgOut, imgIn); - - pluginErosion.setAttribute("matrix", (boolean[][])getAttribute("matrix")); - pluginErosion.process(imgIn, imgOut, attrOut, mask, previewMode); - } - } - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/dilation/Dilation.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/dilation/Dilation.java deleted file mode 100644 index ee0a6dd..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/dilation/Dilation.java +++ /dev/null @@ -1,91 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.dilation; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class Dilation extends MarvinAbstractImagePlugin{ - - private boolean matrix[][] = null; - - @Override - public void load() { - setAttribute("matrix", matrix); - - } - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - boolean matrix[][] = (boolean[][])getAttribute("matrix"); - - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY && matrix != null){ - - MarvinImage.copyColorArray(imgIn, imgOut); - - for(int y=0; y 0 && nx < imgOut.getWidth() && ny > 0 && ny < imgOut.getHeight()){ - imgOut.setBinaryColor(nx, ny, true); - } - } - } - } - } - } - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/erosion/Erosion.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/erosion/Erosion.java deleted file mode 100644 index a68da51..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/erosion/Erosion.java +++ /dev/null @@ -1,92 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.erosion; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class Erosion extends MarvinAbstractImagePlugin{ - - private boolean matrix[][]; - - @Override - public void load() { - setAttribute("matrix", matrix); - - } - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - matrix = (boolean[][])getAttribute("matrix"); - - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY && matrix != null){ - - MarvinImage.copyColorArray(imgIn, imgOut); - - for(int y=0; y= 0 && nx < imgOut.getWidth() && ny >= 0 && ny < imgOut.getHeight()){ - imgOut.setBinaryColor(nx, ny, false); - } - } - } - } - } - } - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/opening/Opening.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/opening/Opening.java deleted file mode 100644 index ab1aa2e..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/opening/Opening.java +++ /dev/null @@ -1,72 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.opening; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.morphological.dilation.Dilation; -import org.marvinproject.image.morphological.erosion.Erosion; - -public class Opening extends MarvinAbstractImagePlugin{ - - private boolean matrix[][]; - - private MarvinImagePlugin pluginDilation, - pluginErosion; - - - @Override - public void load() { - setAttribute("matrix", matrix); - - pluginDilation = new Dilation(); - pluginDilation.load(); - pluginErosion = new Erosion(); - pluginErosion.load(); - - } - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - matrix = (boolean[][])getAttribute("matrix"); - - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY && matrix != null){ - - pluginErosion.setAttribute("matrix", (boolean[][])getAttribute("matrix")); - pluginErosion.process(imgIn, imgOut, attrOut, mask, previewMode); - - MarvinImage.copyColorArray(imgOut, imgIn); - - pluginDilation.setAttribute("matrix", (boolean[][])getAttribute("matrix")); - pluginDilation.process(imgIn, imgOut, attrOut, mask, previewMode); - } - } - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/thinning/Thinning.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/thinning/Thinning.java deleted file mode 100644 index a8895a0..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/morphological/thinning/Thinning.java +++ /dev/null @@ -1,154 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.morphological.thinning; - -import marvin.color.MarvinColorModelConverter; -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class Thinning extends MarvinAbstractImagePlugin{ - - private static Boolean[][] B1 = new Boolean[][]{ - {false,false,false}, - {null,true,null}, - {true,true,true} - }; - - private static Boolean[][] B2 = new Boolean[][]{ - {null,false,false}, - {true,true,false}, - {true,true,null} - }; - - private static Boolean[][] B3 = new Boolean[][]{ - {true,null,false}, - {true,true,false}, - {true,null,false} - }; - - private static Boolean[][] B4 = new Boolean[][]{ - {true,true,null}, - {true,true,false}, - {null,false,false} - }; - - private static Boolean[][] B5 = new Boolean[][]{ - {true,true,true}, - {null,true,null}, - {false,false,false} - }; - - private static Boolean[][] B6 = new Boolean[][]{ - {null,true,true}, - {false,true,true}, - {false,false,null} - }; - - private static Boolean[][] B7 = new Boolean[][]{ - {false,null,true}, - {false,true,true}, - {false,null,true} - }; - - private static Boolean[][] B8 = new Boolean[][]{ - {false,false,null}, - {false,true,true}, - {null,true,true} - }; - - private Boolean[][][] MATRICES = new Boolean[][][]{ - B1, B2, B3, B4, B5, B6, B7, B8 - }; - - @Override - public void load() {} - - @Override - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - if(imgIn.getColorModel() == MarvinImage.COLOR_MODEL_BINARY){ - MarvinImage tempImgIn = imgIn.clone(); - int lastChange=-1; - boolean lastApplyChanged; - - int c=0; - mainLoop: - while(true){ - for(int mIndex=0; mIndex < MATRICES.length; mIndex++){ - - lastApplyChanged = false; - for(int y=0; y= imgIn.getWidth() || ny < 0 || ny >= imgIn.getHeight())){ - if(matrix[mj][mi] != null && matrix[mj][mi]){ - return false; - } - continue; - } - - if(matrix[mj][mi] != null && imgIn.getBinaryColor(nx,ny) != matrix[mj][mi]){ - return false; - } - } - } - - imgOut.setBinaryColor(x,y,false); - return true; - } - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/correlation/Correlation.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/correlation/Correlation.java deleted file mode 100644 index d328e6f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/correlation/Correlation.java +++ /dev/null @@ -1,244 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.pattern.correlation; - -import java.io.File; -import java.text.DecimalFormat; - -import javax.imageio.ImageIO; -import javax.swing.JFileChooser; -import javax.swing.JOptionPane; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.util.MarvinFileChooser; - -public class Correlation extends MarvinAbstractImagePlugin { - - private MarvinImage img_padrao,img_teste; - private MarvinPerformanceMeter performanceMeter; - private double somaX,somaY,somaXY,n,somaX2,somaY2,acima,abaixo,r,somaX2R,somaY2R; - private String novaImagem; - private boolean modoAnalise = false; - private double cr; - - public void setNovaImagem(String novaImagem) - { - this.novaImagem = novaImagem; - } - public void setModoAnalise(boolean b) - { - this.modoAnalise = b; - } - - public double getCr(){ - - return cr; - } - - public void load() { - if(!modoAnalise) - { - performanceMeter = new MarvinPerformanceMeter(); - process(getImagePanel().getImage(), null, null, MarvinImageMask.NULL_MASK, true); - - } - - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - img_padrao = a_imageIn; - try - { - if(!modoAnalise) - { - novaImagem = MarvinFileChooser.select(null, true,JFileChooser.OPEN_DIALOG); - } - img_teste = new MarvinImage(ImageIO.read(new File(novaImagem))); - }catch(Exception e) - { - System.out.println("Error while selecting image"); - } - // the image have to same size - if(img_teste.getWidth() == a_imageIn.getWidth() && img_teste.getHeight() == a_imageIn.getHeight()){ - - if(!modoAnalise) - { - performanceMeter.start("Correlation"); - performanceMeter.enableProgressBar("Correlation" , 5 * ( img_padrao.getWidth() * img_padrao.getHeight())); - } - n = img_padrao.getWidth() * img_padrao.getHeight(); - - - if(!modoAnalise) - { - performanceMeter.startEvent("Add X"); - } - // soma X - somaX = 0; - - for (int x = 1; x < img_padrao.getWidth()-1; x++) - { - for (int y = 1; y < img_padrao.getHeight()-1; y++) - { - somaX = somaX + img_padrao.getIntComponent0(x, y); - } - if(!modoAnalise) - { - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - } - if(!modoAnalise) - { - performanceMeter.finishEvent(); - } - - if(!modoAnalise) - { - performanceMeter.startEvent("Add Y"); - } - // soma Y - somaY = 0; - - for (int x = 1; x < img_teste.getWidth()-1; x++) - { - for (int y = 1; y < img_teste.getHeight()-1; y++) - { - somaY = somaY + img_teste.getIntComponent0(x, y); - } - if(!modoAnalise) - { - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - } - - if(!modoAnalise) - { - performanceMeter.finishEvent(); - } - - - if(!modoAnalise) - { - performanceMeter.startEvent("Add XR"); - } - // soma XR - somaX = 0; - - for (int x = 1; x < img_padrao.getWidth()-1; x++) - { - for (int y = 1; y < img_padrao.getHeight()-1; y++) - { - somaX2R = somaX2R + Math.pow (img_padrao.getIntComponent0(x, y),2); - } - if(!modoAnalise) - { - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - } - - if(!modoAnalise) - { - performanceMeter.finishEvent(); - performanceMeter.startEvent("Add XR"); - } - // soma Yr - somaY = 0; - for (int x = 1; x < img_teste.getWidth()-1; x++) - { - for (int y = 1; y < img_teste.getHeight()-1; y++) - { - somaY2R = somaY2R + Math.pow (img_teste.getIntComponent0(x, y),2); - } - if(!modoAnalise) - { - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - } - if(!modoAnalise) - { - performanceMeter.finishEvent(); - - - performanceMeter.startEvent("Add z y"); - } - // soma x . y - for (int x = 1; x < img_teste.getWidth()-1; x++) - { - for (int y = 1; y < img_teste.getHeight()-1; y++) - { - somaXY = somaXY + (img_teste.getIntComponent0(x, y) * img_padrao.getIntComponent0(x, y) ); - } - //performanceMeter.stepsFinished(a_image.getHeight()); - if(!modoAnalise) - { - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - } - if(!modoAnalise) - { - performanceMeter.finishEvent(); - performanceMeter.startEvent("Adding all"); - } - somaX2 = Math.sqrt(somaX); - somaY2 = Math.sqrt(somaY); - - - acima = n*(somaXY) - (somaX * somaY); - abaixo = (Math.sqrt( n * (somaX2R) - somaX2 )) * (Math.sqrt( n * (somaY2R) - somaY2)); - r = acima / abaixo; - if(!modoAnalise) - { - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - cr = r; - DecimalFormat myFormatter = new DecimalFormat("##.#"); - String output = myFormatter.format(r); - if(!modoAnalise) - { - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - if(a_previewMode) - JOptionPane.showMessageDialog(null, "The correlation is: " + cr); - }else{ - if(!modoAnalise) - JOptionPane.showMessageDialog(null, "The image have to the same size"); - } - - } - - public MarvinAttributesPanel getAttributesPanel(){ - return null; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findColorPattern/FindColorPattern.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findColorPattern/FindColorPattern.java deleted file mode 100644 index c39f26b..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findColorPattern/FindColorPattern.java +++ /dev/null @@ -1,326 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.pattern.findColorPattern; - -import java.awt.Color; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class FindColorPattern extends MarvinAbstractImagePlugin{ - - private int[] arrTargetPattern, - arrTempPattern; - - private int patternWidth, - patternHeight; - - private int regionPx, - regionPy, - regionWidth, - regionHeight; - - private MarvinImage image; - - private int imageWidth, - imageHeight; - - private int colorRange; - - private MarvinAttributes attributes; - - private boolean targetPatternLoaded=false; - - public void load(){ - attributes = getAttributes(); - attributes.set("differenceColorRange", 30); - attributes.set("regionPx", 0); - attributes.set("regionPy", 0); - attributes.set("regionWidth", 1); - attributes.set("regionHeight", 1); - } - - public MarvinAttributesPanel getAttributesPanel(){return null;} - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - image = a_imageIn; - if(!targetPatternLoaded){ - - regionPx = (Integer)attributes.get("regionPx"); - regionPy = (Integer)attributes.get("regionPy"); - regionWidth = (Integer)attributes.get("regionWidth"); - regionHeight = (Integer)attributes.get("regionHeight"); - - loadTargetPattern(regionPx, regionPy, regionWidth, regionHeight); - targetPatternLoaded = true; - } - else{ - colorRange = (Integer)attributes.get("differenceColorRange"); - imageWidth = a_imageIn.getWidth(); - imageHeight = a_imageIn.getHeight(); - - - int l_arrRegion[] = new int[]{regionPx, regionPy, regionWidth, regionHeight}; - - newRegion(l_arrRegion, regionWidth/10,0,4); - newRegion(l_arrRegion, regionWidth/20,0,5); - newRegion(l_arrRegion, 2,0,20); - newRegionSize(l_arrRegion, 0,8); - - regionPx = l_arrRegion[0]; - regionPy = l_arrRegion[1]; - regionWidth = l_arrRegion[2]; - regionHeight = l_arrRegion[3]; - } - - // Set output attributes - a_attributesOut.set("regionPx", regionPx); - a_attributesOut.set("regionPy", regionPy); - a_attributesOut.set("regionWidth", regionWidth); - a_attributesOut.set("regionHeight", regionHeight); - } - - private void loadTargetPattern(int a_x, int a_y, int a_width, int a_height){ - regionPx = a_x; - regionPy = a_y; - regionWidth = a_width; - regionHeight = a_height; - - patternWidth = a_width/2; - patternHeight = a_height/2; - - arrTargetPattern = new int[patternWidth*patternHeight]; - arrTempPattern = new int[patternWidth*patternHeight]; - - captureObject(regionPx, regionPy, regionWidth, regionHeight); - } - - private void captureObject(int a_x, int a_y, int a_width, int a_height){ - double l_xFactor = (double)a_width/patternWidth; - double l_yFactor = (double)a_height/patternHeight; - - double l_dX=a_x,l_dY=a_y; - int l_iX,l_iY; - - - for(int l_h=0; l_h l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = -a_pixelShift; - l_bestShiftY = 0; - } - - l_tempMatch = matchRegion(a_arrRegion[0]+a_pixelShift, a_arrRegion[1], a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = a_pixelShift; - l_bestShiftY = 0; - } - - l_tempMatch = matchRegion(a_arrRegion[0], a_arrRegion[1]-a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = 0; - l_bestShiftY = -a_pixelShift; - } - - l_tempMatch = matchRegion(a_arrRegion[0], a_arrRegion[1]+a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = 0; - l_bestShiftY = +a_pixelShift; - } - l_tempMatch = matchRegion(a_arrRegion[0]-a_pixelShift, a_arrRegion[1]-a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = -a_pixelShift; - l_bestShiftY = -a_pixelShift; - } - - l_tempMatch = matchRegion(a_arrRegion[0]-a_pixelShift, a_arrRegion[1]+a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = -a_pixelShift; - l_bestShiftY = a_pixelShift; - } - - l_tempMatch = matchRegion(a_arrRegion[0]+a_pixelShift, a_arrRegion[1]-a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = a_pixelShift; - l_bestShiftY = -a_pixelShift; - } - - l_tempMatch = matchRegion(a_arrRegion[0]+a_pixelShift, a_arrRegion[1]+a_pixelShift, a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch > l_bestMatch){ - l_bestMatch = l_tempMatch; - l_bestShiftX = a_pixelShift; - l_bestShiftY = a_pixelShift; - } - - l_tempMatch = matchRegion(a_arrRegion[0], a_arrRegion[1], a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch >= l_bestMatch){ - return; - } - - a_arrRegion[0]+=l_bestShiftX; - a_arrRegion[1]+=l_bestShiftY; - - if(a_depth < a_maxDepth){ - newRegion(a_arrRegion, a_pixelShift, a_depth+1, a_maxDepth); - } - } - - private void newRegionSize(int[] a_arrRegion, int a_depth, int a_maxDepth){ - double l_tempMatch; - double l_betterMatch=0; - int l_betterIndex=0; - int l_scaleS = (int)(a_arrRegion[2]*0.05); - int l_OriginShift = l_scaleS/2; - - - l_tempMatch = matchRegion(a_arrRegion[0]-3, a_arrRegion[1]-l_OriginShift, a_arrRegion[2]+l_scaleS, a_arrRegion[3]+l_scaleS); - if(l_tempMatch > l_betterMatch){ - l_betterMatch = l_tempMatch; - l_betterIndex = 1; - } - - l_tempMatch = matchRegion(a_arrRegion[0]+3, a_arrRegion[1]+l_OriginShift, a_arrRegion[2]-l_scaleS, a_arrRegion[3]-l_scaleS); - if(l_tempMatch > l_betterMatch){ - l_betterMatch = l_tempMatch; - l_betterIndex = 2; - } - - l_tempMatch = matchRegion(a_arrRegion[0], a_arrRegion[1], a_arrRegion[2], a_arrRegion[3]); - if(l_tempMatch >= l_betterMatch){ - - return; - } - - switch(l_betterIndex){ - case 1: - a_arrRegion[0]-=l_OriginShift; - a_arrRegion[1]-=l_OriginShift; - a_arrRegion[2]+=l_scaleS; - a_arrRegion[3]+=l_scaleS; - break; - case 2: - a_arrRegion[0]+=l_OriginShift; - a_arrRegion[1]+=l_OriginShift; - a_arrRegion[2]-=l_scaleS; - a_arrRegion[3]-=l_scaleS; - break; - } - - if(a_depth < a_maxDepth){ - newRegionSize(a_arrRegion, a_depth+1, a_maxDepth); - } - } - - - private double matchRegion(int a_x, int a_y, int a_width, int a_height){ - double l_xFactor = (double)a_width/patternWidth; - double l_yFactor = (double)a_height/patternHeight; - - double l_dX=a_x,l_dY=a_y; - int l_iX,l_iY; - - if - ( - a_x < 0 || - a_y < 0 || - a_x+a_width+1 > imageWidth || - a_y+a_height+1 > imageHeight - ){ - return 0; - } - - for(int l_h=0; l_h>> 16; - l_redB = (arrTempPattern[(l_h*patternWidth)+l_w] & 0x00FF0000) >>> 16; - l_greenA = (arrTargetPattern[(l_h*patternWidth)+l_w] & 0x0000FF00) >>> 8; - l_greenB = (arrTempPattern[(l_h*patternWidth)+l_w] & 0x0000FF00) >>> 8; - l_blueA = (arrTargetPattern[(l_h*patternWidth)+l_w] & 0x000000FF); - l_blueB = (arrTempPattern[(l_h*patternWidth)+l_w] & 0x000000FF); - - if - ( - Math.abs(l_redA-l_redB) > colorRange || - Math.abs(l_greenA-l_greenB) > colorRange || - Math.abs(l_blueA-l_blueB) > colorRange - ){ - l_diffPixels++; - } - - } - } - - return 100-(((double)l_diffPixels/(patternWidth*patternHeight))*100); - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findSubimage/FindSubimage.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findSubimage/FindSubimage.java deleted file mode 100644 index 896c846..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/findSubimage/FindSubimage.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.marvinproject.image.pattern.findSubimage; - -import java.awt.Color; -import java.util.ArrayList; -import java.util.List; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.image.MarvinSegment; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class FindSubimage extends MarvinAbstractImagePlugin{ - - @Override - public void load() { - setAttribute("similarity", 1.0); - setAttribute("findAll", true); - setAttribute("startX", 0); - setAttribute("startY", 0); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview - ) { - List segments = new ArrayList(); - Object o = getAttribute("subimage"); - Double similarity = (Double)getAttribute("similarity"); - Boolean findAll = (Boolean)getAttribute("findAll"); - Integer startX = (Integer)getAttribute("startX"); - Integer startY = (Integer)getAttribute("startY"); - if(o != null){ - MarvinImage subimage = (MarvinImage)o; - int subImagePixels = subimage.getWidth()*subimage.getHeight(); - boolean[][] processed=new boolean[imageIn.getWidth()][imageIn.getHeight()]; - - int r1,g1,b1,r2,g2,b2; - // Full image - mainLoop:for(int y=startY; y 5 || - Math.abs(g1-g2) > 5 || - Math.abs(b1-b2) > 5 - ){ - notMatched++; - - if(notMatched > (1-similarity)*subImagePixels){ - match=false; - break outerLoop; - } - } - } - } - } else{ - match=false; - } - - if(match){ - segments.add(new MarvinSegment(x,y,x+subimage.getWidth(), y+subimage.getHeight())); - - if(!findAll){ - break mainLoop; - } - - for(int i=0; i> segments = new ArrayList>(imageIn.getHeight()); - for(int i=0; i()); - } - - // map of already processed pixels - boolean[][] processed = new boolean[imageIn.getWidth()][imageIn.getHeight()]; - - int color; - int patternStartX=-1; - int patternLength=0; - int whitePixels=0; - int blackPixels=0; - for(int y=0; y maxWhiteSpace || blackPixels > maxFontLineWidth || x == imageIn.getWidth()-1){ - - if(patternLength >= minTextWidth){ - List list = segments.get(y); - list.add(new Integer[]{patternStartX, y, patternStartX+patternLength, y}); - } - - whitePixels=0; - blackPixels=0; - patternLength=0; - patternStartX=-1; - } - - if(patternStartX != -1){ - patternLength++; - } - - processed[x][y] = true; - } - } - } - - - // Group line patterns intersecting in x coordinate and too near in y coordinate. - for(int y=0; y listY = segments.get(y); - - for(int w=y+1; w<=y+2; w++){ - - List listW = segments.get(w); - - for(int i=0; i= sB[2]) || - (sA[0] >= sB[0] && sA[0] <= sB[2]) || - (sA[2] >= sB[0] && sA[2] <= sB[2]) - - ){ - sA[0] = Math.min(sA[0], sB[0]); - sA[2] = Math.max(sA[2], sB[2]); - sA[3] = sB[3]; - - listY.remove(i); - i--; - - listW.remove(j); - listW.add(sA); - - break; - } - } - } - } - } - - // Convert the result to a List<> of MarvinSegment objects. - List marvinSegments = new ArrayList(); - for(int y=0; y l = segments.get(y); - for(Integer[] seg:l){ - marvinSegments.add(new MarvinSegment(seg[0], seg[1], seg[2], seg[3])); - } - } - - attrOut.set("matches", marvinSegments); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/harrisPlessey/HarrisPlessey.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/harrisPlessey/HarrisPlessey.java deleted file mode 100644 index 5830567..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/harrisPlessey/HarrisPlessey.java +++ /dev/null @@ -1,388 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.pattern.harrisPlessey; - -import java.io.File; - -import javax.imageio.ImageIO; -import javax.swing.JOptionPane; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.segmentation.crop.Crop; - -/** - * Absolute interst point - * @author Fabio Andrijauskas - * @version 1.0 02/04/2008 - */ - -public class HarrisPlessey extends MarvinAbstractImagePlugin{ - - MarvinPerformanceMeter performanceMeter; - // variaveis com os gradientes de X e Y - private double Gx = 0; - private double Gy = 0; - - // variaveis da matriz de auto correalcao - // A C - // C B - private double A = 0; - private double B = 0; - private double C = 0; - - //valor do limiar - private double th = 1.7981439005E15; - - // valor do calculo da qualidade do canto - private double E = 0; - - // valor empirico de sensibilidade - private double k = 0.2; - - // determinante da matriz de auto correlacao - private double det = 0; - - // traco da matriz de auto correlocao - private double trace = 0; - - // matriz que guarda aonde esta os cantos - private int cantos[][]; - - // numero de cantos - private int numeroCantos; - - private int rn; - private int gn; - private int bn; - private int[][] gx,gy; - private int r,g,b; - private int mul8gx[], mul8gy[]; - private String path = null; - private boolean padrao; - private boolean modoAnalise; - - private MarvinImagePlugin crop; - - public void load(){ - performanceMeter = new MarvinPerformanceMeter(); - crop = new Crop(); - crop.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){return null;} - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - - if(a_previewMode || modoAnalise){ - path = ""; - File dir = new File("pattern/tmp/"); - boolean trf = dir.delete(); - if(!trf) - { - File tmpFiles[] = dir.listFiles(); - if(tmpFiles != null){ - for(int a = 0; a < tmpFiles.length;a++) - { - boolean rr = tmpFiles[a].delete(); - } - } - - } - dir.mkdir(); - }else{ - path = JOptionPane.showInputDialog(null,"","Type the class of this image",JOptionPane.QUESTION_MESSAGE); - } - - int l_processSteps=0; - l_processSteps+=(a_imageIn.getWidth() *a_imageIn.getHeight())*2; - l_processSteps+=((a_imageIn.getWidth()-2) * (a_imageIn.getHeight()-2)); - l_processSteps+=((a_imageIn.getWidth()-3) * (a_imageIn.getHeight()-3)); - l_processSteps+=((a_imageIn.getWidth()-2)); - - performanceMeter.start("InterestPoint"); - performanceMeter.enableProgressBar("InterestPoint" , l_processSteps); - - performanceMeter.startEvent("Gray scale"); - int r,g,b,corfinal; - for (int x = 0; x < a_imageIn.getWidth(); x++) { - for (int y = 0; y < a_imageIn.getHeight(); y++) { - //Red - 30% / Blue - 59% / Green - 11% - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - corfinal = (int)((r*0.3)+(b*0.59)+(g*0.11)); - a_imageOut.setIntColor(x,y,corfinal,corfinal,corfinal); - } - performanceMeter.stepsFinished(a_imageIn.getHeight()); - performanceMeter.incProgressBar(a_imageIn.getHeight()); - } - performanceMeter.finishEvent(); - - //matrizes do sobelhr - gx = new int[3][3]; - gy = new int[3][3]; - - // matrizes utilizadas para detetar as bordas para o eixo x - gx[0][0] = -1;gx[1][0] = 0;gx[2][0] = 1; - gx[0][1] = -2;gx[1][1] = 0;gx[2][1] = 2; - gx[0][2] = -1;gx[1][2] = 0;gx[2][2] = 1; - - // matrizes utilizadas para detetar as bordas para o eixo Y - gy[0][0] = 1;gy[1][0] = 2;gy[2][0] = 1; - gy[0][1] = 0;gy[1][1] = 0;gy[2][1] = 0; - gy[0][2] = -1;gy[1][2] = -2;gy[2][2] = -1; - - performanceMeter.startEvent("Border detector"); - for (int x = 1; x < a_imageOut.getWidth()-1; x++) { - for (int y = 1; y < a_imageOut.getHeight()-1; y++) { - - // pega o r , g ,e b - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - //a b c - // d e f - // g h i - - // metodo que multiplic a matriz pela janela - mul8gx = a_imageIn.Multi8p(x, y, gx); - mul8gy = a_imageIn.Multi8p(x, y, gy); - - // soma os gradientes - rn = Math.abs(mul8gx[0]) + Math.abs(mul8gy[0]); - gn = Math.abs(mul8gx[1]) + Math.abs(mul8gy[1]); - bn = Math.abs(mul8gx[2]) + Math.abs(mul8gy[2]); - - // re arranja os rgb - rn = a_imageOut.boundRGB(rn); - gn = a_imageOut.boundRGB(gn); - bn = a_imageOut.boundRGB(bn); - - // defini os rgb novos - a_imageOut.setIntColor(x, y, rn,gn,bn); - - } - performanceMeter.stepsFinished(a_imageOut.getHeight()-2); - performanceMeter.incProgressBar(a_imageOut.getHeight()-2); - } - performanceMeter.finishEvent(); - - performanceMeter.startEvent("Binarization"); - int limiar = 150; - for (int x = 0; x < a_imageOut.getWidth(); x++) { - for (int y = 0; y < a_imageOut.getHeight(); y++) { - - if(a_imageOut.getIntComponent0(x, y) > limiar ||a_imageOut.getIntComponent0(x, y)+20 > limiar ||a_imageOut.getIntComponent0(x, y)-20 > limiar ){ - - if(a_imageOut.getIntComponent1(x, y) > limiar ||a_imageOut.getIntComponent1(x, y)+20 > limiar ||a_imageOut.getIntComponent1(x, y)-20 > limiar ){ - - if(a_imageOut.getIntComponent2(x, y) > limiar ||a_imageOut.getIntComponent2(x, y)+20 > limiar ||a_imageOut.getIntComponent2(x, y)-20 > limiar ){ - - a_imageOut.setIntColor(x, y, 255,255,255); - - } - } - - }else{ - - a_imageOut.setIntColor(x, y, 0,0,0); - } - - - } - performanceMeter.stepsFinished(a_imageOut.getHeight()); - performanceMeter.incProgressBar(a_imageOut.getHeight()); - } - performanceMeter.finishEvent(); - - numeroCantos = 0; - - // matriz que tem o mesmo tamnho da imagem para terminar quais os cantos - cantos = new int[a_imageOut.getWidth()][a_imageOut.getHeight()]; - - performanceMeter.startEvent("Harris/Plessey"); - for (int x = 2; x < a_imageOut.getWidth()-1; x++) { - for (int y = 2; y < a_imageOut.getHeight()-1; y++) { - - //gradiente rem relação a x - //matriz 3 x 3 (janela) - // 3 3 3 - // 3 3 3 * (-1 ,0 ,1) matriz (janela da imagem, o valor dos pixels mesmo) convulacionaod com (-1,0,1) - // 3 3 3 - Gx = (a_imageOut.getIntComponent0(x-1,y-1) * 1) + (a_imageOut.getIntComponent0(x-1,y) * 0) + (a_imageOut.getIntComponent0(x-1,y+1) * -1); - Gx = (a_imageOut.getIntComponent0(x,y-1) * 1) + (a_imageOut.getIntComponent0(x,y) * 0) + (a_imageOut.getIntComponent0(x,y+1) * -1); - Gx = Gx + (a_imageOut.getIntComponent0(x+1,y-1) * 1) + (a_imageOut.getIntComponent0(x+1,y) * 0) + (a_imageOut.getIntComponent0(x+1,y+1) * -1); - - - - //gradiente em relação a y - //matriz 3 x 3 (janela) - // 3 3 3 - // 3 3 3 * (-1 ,0 ,1) matriz (janela da imagem, o valor dos pixels mesmo) convulacionaod com (-1,0,1) - // 3 3 3 - Gy = (a_imageOut.getIntComponent0(x-1,y-1) * -1) + (a_imageOut.getIntComponent0(x,y-1) * 0) + (a_imageOut.getIntComponent0(x+1,y-1) * 1); - Gy = (a_imageOut.getIntComponent0(x-1,y) * -1) + (a_imageOut.getIntComponent0(x,y) * 0) + (a_imageOut.getIntComponent0(x+1,y) * 1); - Gy = Gy + (a_imageOut.getIntComponent0(x-1,y+1) * -1) + (a_imageOut.getIntComponent0(x,y+1) * 0) + (a_imageOut.getIntComponent0(x+1,y+1) * 1); - - - // calcula o valor da matriz de auto correlacao - A = a_imageOut.multi8p(x, y,Math.pow(Gx,2.0)); - B = a_imageOut.multi8p(x, y,Math.pow(Gy,2.0)); - C = a_imageOut.multi8p(x, y,Gx+Gy); - - // determinante da matriz de autocorrelacao - det = (A * B) - Math.pow(C,2.0); - - // traco da matriz de auto correlacao - trace = A + B; - - // valor que se descobre se e canto , ou borda ou nada - E = det - (k * Math.pow(trace,2.0)); - - // se E for maior que o valor de limiar e canto - if( E > th ){ - cantos[x][y] = 1; - numeroCantos++; - a_imageOut.setIntColor(x, y, 255, 0, 0); - } - - // zera todos os itens da matriz de auto correlação - Gx = 0; - Gy = 0; - A = 0; - B = 0; - C = 0; - E = 0; - det = 0; - trace = 0; - } - performanceMeter.stepsFinished(a_imageIn.getHeight()-3); - performanceMeter.incProgressBar(a_imageIn.getHeight()-3); - } - performanceMeter.finishEvent(); - int corners = 0; - - performanceMeter.startEvent("Segmentation"); - for (int x = 1; x < a_imageOut.getWidth()-1; x++) - { - for (int y = 1; y < a_imageOut.getHeight()-1; y++) - { - - if(cantos[x][y] == 1) - { - - if(x+40 < a_imageOut.getWidth() && y+40 < a_imageOut.getHeight()) - { - - a_imageOut.setIntColor(x, y, 255,0,0); - crop.setAttribute("x", x); - crop.setAttribute("y", y); - crop.setAttribute("width", 40); - crop.setAttribute("height", 40); - MarvinImage imgTmp = a_imageIn.clone(); - crop.process(a_imageIn, imgTmp); - if(!a_previewMode){ - try{ - if(modoAnalise) - { - File tmp = new File("pattern/"+"tmp/"+corners+".jpg"); - while(tmp.exists()) - { - corners++; - tmp = new File("pattern/"+path+"/"+corners+".jpg"); - } - ImageIO.write(imgTmp.getBufferedImage(),"jpg",tmp); - imgTmp = null; - corners++; - - }else{ - - File dir = new File("pattern/"+path+"/"); - dir.mkdirs(); - File tmp = new File("pattern/"+path+"/"+corners+".jpg"); - while(tmp.exists()) - { - corners++; - tmp = new File("pattern/"+path+"/"+corners+".jpg"); - } - ImageIO.write(imgTmp.getBufferedImage(),"jpg",tmp); - imgTmp = null; - corners++; - } - - }catch (Exception e) { - // TODO: handle exception - } - } - - for (int xN = x -10; xN <= x+40; xN++) - { - for (int yN = y -10; yN <= y+40; yN++) - { - //if(xN < imagemOriginal.getx() && yN < imagemOriginal.gety()) - //{ - try - { - cantos[xN][yN] = 0; - }catch (Exception e) { - - } - //} - } - } - } - } - } - performanceMeter.stepsFinished(a_imageOut.getHeight()-1); - performanceMeter.incProgressBar(1); - } - performanceMeter.finishEvent(); - - a_imageIn.setBufferedImage(a_imageOut.getBufferedImage()); - - performanceMeter.finish(); - - } - - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public boolean isModoAnalise() { - return modoAnalise; - } - - public void setModoAnalise(boolean modoAnalise) { - this.modoAnalise = modoAnalise; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/patternRecognition/PatternRecognition.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/patternRecognition/PatternRecognition.java deleted file mode 100644 index 8f64927..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/pattern/patternRecognition/PatternRecognition.java +++ /dev/null @@ -1,126 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.pattern.patternRecognition; - -import java.io.File; -import java.io.IOException; -import java.util.SortedMap; -import java.util.TreeMap; - -import javax.imageio.ImageIO; -import javax.swing.JOptionPane; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinPlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.pattern.correlation.Correlation; -import org.marvinproject.image.pattern.harrisPlessey.HarrisPlessey; - -public class PatternRecognition extends MarvinAbstractImagePlugin { - - public void load() { - - process(getImagePanel().getImage(), null, null, MarvinImageMask.NULL_MASK, true); - } - - @SuppressWarnings("unchecked") - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - MarvinPlugin l_filter = new HarrisPlessey(); - l_filter.load(); - - HarrisPlessey hr = (HarrisPlessey) l_filter; - hr.load(); - - hr.setModoAnalise(true); - hr.process(a_imageIn, null); - - - File dir = new File("./pattern/"); - File pt[] = dir.listFiles(); - - File dirTmp = new File("pattern/tmp/"); - File imgsTmp[] = dirTmp.listFiles(); - - - SortedMap map = new TreeMap(); - MarvinImage mv = null; - - for(int b= 0;b < imgsTmp.length;b++) - { - for(int a = 0; a < pt.length; a++) - { - if(pt[a].isDirectory() && !pt[a].getName().equals("tmp") ) - { - File tmp[] = pt[a].listFiles(); - for(int i = 0; i < tmp.length;i++) - { - - try { - mv = new MarvinImage(ImageIO.read(imgsTmp[b])); - } catch (IOException e) { - e.printStackTrace(); - } - Correlation cr = new Correlation(); - cr.setModoAnalise(true); - cr.load(); - try { - cr.setNovaImagem(tmp[i].getCanonicalPath()); - } catch (IOException e) { - e.printStackTrace(); - } - cr.process(mv, null); - - if(cr.getCr() > 0.98){ - - if(map.containsKey(pt[a].getName())){ - Integer valor = (Integer)map.get(pt[a].getName()); - valor++; - map.put(pt[a].getName(), valor); - - }else{ - Integer valor = 1; - map.put(pt[a].getName(), valor); - - } - } - } - - } - - } - } - - String all = ""; - - for(String a : map.keySet()) - { - all += "The class is: " + a + " with: " + map.get(a).toString(); - break; - } - JOptionPane.showMessageDialog(null, all); - } - - public MarvinAttributesPanel getAttributesPanel(){return null;} - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/colorQuantization/ColorQuantization.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/colorQuantization/ColorQuantization.java deleted file mode 100644 index c6c2176..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/colorQuantization/ColorQuantization.java +++ /dev/null @@ -1,46 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.quantization.colorQuantization; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class ColorQuantization extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - - @Override - public void load() { - // TODO Auto-generated method stub - - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblColors", "Colors:"); - attributesPanel.addTextField("txtColors", "colors", getAttributes()); - } - return attributesPanel; - } - - @Override - public void process(MarvinImage imgIn, MarvinImage imgOut, - MarvinAttributes attrOut, MarvinImageMask mask, boolean previewMode) { - // TODO Auto-generated method stub - - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/grayScaleQuantization/GrayScaleQuantization.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/grayScaleQuantization/GrayScaleQuantization.java deleted file mode 100644 index 8589320..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/quantization/grayScaleQuantization/GrayScaleQuantization.java +++ /dev/null @@ -1,73 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.quantization.grayScaleQuantization; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -public class GrayScaleQuantization extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinImagePlugin gray; - - @Override - public void load() { - gray = new GrayScale(); - gray.load(); - - setAttribute("shades", 10); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblShades", "Shades:"); - attributesPanel.addTextField("txtShades", "shades", getAttributes()); - } - return attributesPanel; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean preview) - { - - int colors = (Integer)getAttribute("shades"); - int range = 255/colors; - gray.process(imageIn.clone(), imageIn); - int c; - int c2; - for(int y=0; y 0){ - c = imageIn.getIntComponent0(x, y); - c2 = (c/range)*range; - - imageOut.setIntColor(x, y, 255, c2,c2,c2); - } - } - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/grayGradient/GrayGradient.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/grayGradient/GrayGradient.java deleted file mode 100644 index 2ea9afd..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/grayGradient/GrayGradient.java +++ /dev/null @@ -1,91 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.grayGradient; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Render white to black degrade. The Marvin framework do not supports - * color choosing component yet, but when it's supported, it will be - * used in this filter for degrade color selection. - * - * @version 1.0 02/28/2008 - * @author Gabriel Ambrósio Archanjo - */ - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class GrayGradient extends MarvinAbstractImagePlugin -{ - - public void load(){} - - public MarvinAttributesPanel getAttributesPanel(){return null;} - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //Start with white color. - int r = 255,g = 255,b = 255; - int aux=0; - double factor; - - if(a_imageIn.getWidth() > 255){ - factor = a_imageIn.getWidth()/255.0; - } - else{ - factor = 255/a_imageIn.getWidth(); - } - - for (int x = 0; x < a_imageIn.getWidth(); x++) { - for (int y = 0; y < a_imageIn.getHeight(); y++) { - try{ - a_imageOut.setIntColor(x,y,a_imageIn.getAlphaComponent(x,y), r,g,b); - } - catch(Exception e){System.out.println("Error"); e.printStackTrace();} - } - - if(a_imageIn.getWidth() > 255){ - aux++; - - if(aux > factor){ - r--; - g--; - b--; - aux=0; - } - } - else if(255 > a_imageIn.getWidth()){ - aux+=factor; - r=255-aux; - g=255-aux; - b=255-aux; - } - - if(r<0){r=0;} - if(g<0){g=0;} - if(b<0){b=0;} - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/iteratedFunctionSystem/IteratedFunctionSystem.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/iteratedFunctionSystem/IteratedFunctionSystem.java deleted file mode 100644 index ffee6e1..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/iteratedFunctionSystem/IteratedFunctionSystem.java +++ /dev/null @@ -1,218 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.iteratedFunctionSystem; - -import java.util.ArrayList; -import java.util.List; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class IteratedFunctionSystem extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - private List rules; - - // Testing String - private final static String EXAMPLE_RULES = "0,0,0,0.16,0,0,0.01\n"+ - "0.85,0.04,-0.04,0.85,0,1.6,0.85\n"+ - "0.2,-0.26,0.23,0.22,0,1.6,0.07\n"+ - "-0.15,0.28,0.26,0.24,0,0.44,0.07\n"; - @Override - public void load() { - attributes = getAttributes(); - attributes.set("rules", EXAMPLE_RULES); - attributes.set("iterations", 1000000); - - rules = new ArrayList(); - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes out2, - MarvinImageMask a_mask, - boolean previewMode - ){ - loadRules(); - int iterations = (Integer)attributes.get("iterations"); - - double x0 = 0; - double y0 = 0; - double x,y; - int startX; - int startY; - double factor; - - double minX=999999999,minY=999999999,maxX=-999999999,maxY=-99999999; - - Rule tempRule; - double point[] = {x0,y0}; - - imageOut.clear(0xFFFFFFFF); - - for(int i=0; i maxX){ maxX = x; }; - if(y < minY){ minY = y; }; - if(y > maxY){ maxY = y; }; - - } - - int width = imageOut.getWidth(); - int height = imageOut.getHeight(); - - double deltaX = Math.abs(maxX-minX); - double deltaY = Math.abs(maxY-minY); - if(deltaX > deltaY){ - factor = (width/deltaX); - if(deltaY * factor > height){ - factor = factor * (height/(deltaY * factor)); - } - } - else{ - factor = (height/deltaY); - if(deltaX * factor > width){ - factor = factor * (width/(deltaX * factor)); - } - } - - factor *= 0.9; - - startX = (int)((width/2)-((minX+((deltaX)/2))*factor)); - startY = (int)(height-((height/2)-((minY+(deltaY/2))*factor))); - - point[0] = x0; - point[1] = y0; - - for(int i=0; i= 0 && x= 0 && y < height){ - imageOut.setIntColor((int)x,(int)y , 255, 0); - } - } - } - - - @Override - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblRules","Rules:"); - attributesPanel.newComponentRow(); - attributesPanel.addTextArea("txtRules","rules", 8, 40, attributes); - } - return attributesPanel; - } - - private void loadRules(){ - String r[] = ((String)(attributes.get("rules"))).split("\n"); - - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.juliaSet; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class JuliaSet extends MarvinAbstractImagePlugin{ - - private final static String MODEL_0 = "Model 0"; - private final static String MODEL_1 = "Model 1"; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private int colorModel; - int width; - int height; - - public void load() { - attributes = getAttributes(); - attributes.set("cReal", -0.4); - attributes.set("cImag", 0.6); - attributes.set("zoom", 1.0); - attributes.set("xCenter", 0.0); - attributes.set("yCenter", 0.0); - attributes.set("iterations", 500); - attributes.set("colorModel", MODEL_0); - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes out2, - MarvinImageMask a_mask, - boolean previewMode - ) - { - width = imageOut.getWidth(); - height = imageOut.getHeight(); - - double cRe = (Double)attributes.get("cReal"); - double cIm = (Double)attributes.get("cImag"); - double zoom = (Double)attributes.get("zoom"); - double xc = (Double)attributes.get("xCenter"); - double yc = (Double)attributes.get("yCenter"); - int iterations = (Integer)attributes.get("iterations"); - - if(((String)attributes.get("colorModel")).equals(MODEL_0)){ - colorModel = 0; - } else{ - colorModel = 1; - } - - - double factor = 5.0/zoom; - int iter; - - double x0,y0; - double nx; - double ny; - double nx1; - double ny1; - - boolean[][] mask = a_mask.getMask(); - - for (int i=0; i < height; i++) { - for (int j = 0; j < width; j++) { - - if(mask != null && !mask[j][i]){ continue; } - - x0 = xc - factor/2 + factor*j/width; - y0 = yc - factor/2 + factor*i/height; - - nx=x0; - ny=y0; - - iter=0; - while(Math.sqrt(nx*nx + ny*ny) < 2.0 && iter < iterations){ - nx1 = nx*nx-ny*ny+cRe; - ny1 = 2*(nx*ny)+cIm; - - nx = nx1; - ny = ny1; - iter++; - } - imageOut.setIntColor(j,height-1-i, 255, getColor(iter, iterations, colorModel)); - } - } - } - - private int getColor(int iter, int max, int colorModel){ - if(colorModel == 0){ - return getColor0(iter, max); - } - return getColor1(iter, max); - } - - private int getColor1(int iter, int max){ - int red, green, blue; - - red = (int)(iter*(255.0/100)); - green = (int)(iter*(255.0/200)); - blue = (int)(iter*(255.0/300)); - - return blue + (green << 8) + (red << 16); - } - - private int getColor0(int iter, int max) { - int red = (int) ((Math.cos(iter / 10.0f) + 1.0f) * 127.0f); - int green = (int) ((Math.cos(iter / 20.0f) + 1.0f) * 127.0f); - int blue = (int) ((Math.cos(iter / 300.0f) + 1.0f) * 127.0f); - return blue + (green << 8) + (red << 16); - } - - MarvinFilterWindow filterWindow; - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblCReal", "c Real:"); - attributesPanel.addTextField("txtCReal", "cReal", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblCImaginary", "c Imaginary:"); - attributesPanel.addTextField("txtCImaginary", "cImag", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblXCenter", "X Center:"); - attributesPanel.addTextField("txtXCenter", "xCenter", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblYCenter", "Y Center:"); - attributesPanel.addTextField("txtYCenter", "yCenter", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblZoom", "Zoom:"); - attributesPanel.addTextField("txtZoom", "zoom", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblIterations", "Iterations:"); - attributesPanel.addTextField("txtIterations", "iterations", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblColorModel", "Color Model:"); - attributesPanel.addComboBox("combColorModel", "colorModel", new Object[]{MODEL_0, MODEL_1}, attributes); - } - return attributesPanel; - } - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/Grammar.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/Grammar.java deleted file mode 100644 index 6c2dc51..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/Grammar.java +++ /dev/null @@ -1,44 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.lindenmayer; - -import java.util.HashMap; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Grammar { - HashMap rules; - - public Grammar(){ - rules = new HashMap(); - } - - public void addRule(String predecessor, String sucessor){ - rules.put(predecessor, sucessor); - } - - public String derive(String text){ - StringBuffer result = new StringBuffer(); - String temp; - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.lindenmayer; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** -* @author Gabriel Ambrósio Archhanjo -*/ -public class Lindenmayer extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - private Grammar grammar; - private TurtleGraphics turtle; - private String startText; - - private String RULES = "start->G\n" + - "G->F[-G][+G]FG\n"+ - "F->FF\n"; - - - @Override - public void load() { - attributes = getAttributes(); - attributes.set("rotationAngle", 25.7); - attributes.set("initialAngle", 90.0); - attributes.set("iterations", 9); - attributes.set("rules", RULES); - attributes.set("initialText", "G"); - - grammar = new Grammar(); - turtle = new TurtleGraphics(); - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes out2, - MarvinImageMask a_mask, - boolean mode - ) { - - String rules[] = null; - String strRules = ((String)(attributes.get("rules"))); - if(strRules.contains("\n")){ - rules = ((String)(attributes.get("rules"))).split("\n"); - } - else if(strRules.contains("&")){ - rules = ((String)(attributes.get("rules"))).split("&"); - } - - double initialAngle = (Double)attributes.get("initialAngle"); - double rotationAngle = (Double)attributes.get("rotationAngle"); - int iterations = (Integer)attributes.get("iterations"); - - - for(int i=0; i"); - - if(r[0].equals("start")){ - startText = r[1]; - } - else{ - grammar.addRule(r[0], r[1]); - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/TurtleGraphics.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/TurtleGraphics.java deleted file mode 100644 index a65d0c8..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/lindenmayer/TurtleGraphics.java +++ /dev/null @@ -1,277 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.lindenmayer; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Polygon; -import java.util.Stack; - -import marvin.image.MarvinImage; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class TurtleGraphics { - - private double walkDistance; - private double rotationAngle; - private int startPx; - private int startPy; - private double startAngle; - - // Current Turtle State - private double currentPx; - private double currentPy; - private double currentAngle; - - // State Stack - private Stack stateStack; - - private Polygon polygon = new Polygon(); - private boolean drawingPolygon = false; - - public TurtleGraphics(){ - stateStack = new Stack(); - } - - private void reset(){ - currentPx = 0; - currentPy = 0; - currentAngle = startAngle; - stateStack.clear(); - } - - public void setStartPosition(int x, int y, double angle){ - startPx = x; - startPy = y; - startAngle = angle; - } - - public void setWalkDistance(double distance){ - walkDistance = distance; - } - - public void setRotationAngle(double angle){ - rotationAngle = angle; - } - - public void render(String text, Grammar grammar, int iterations, MarvinImage image){ - - reset(); - - for(int i=0; i maxX){ maxX = currentPx; }; - if(currentPy < minY){ minY = currentPy; }; - if(currentPy > maxY){ maxY = currentPy; }; - } - } - else{ - polygon.addPoint(((int)newPx+startPx), (int)(newPy+startPy)); - - } - - currentPx = newPx; - currentPy = newPy; - break; - } - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - { - // do nothing - } - case '+': - { - currentAngle -= rotationAngle; - if(currentAngle < 0){ - currentAngle = 360+currentAngle; - } - break; - } - case '-': - { - currentAngle = (currentAngle + rotationAngle)%360; - break; - } - case '[': - { - stateStack.push(new Double[]{currentPx, currentPy, currentAngle}); - break; - } - case ']': - { - Double o[] = stateStack.pop(); - currentPx = o[0]; - currentPy = o[1]; - currentAngle = o[2]; - break; - } - case '{': - polygon = new Polygon(); - drawingPolygon = true; - break; - case '}': - //g.fillPolygon(p); - drawingPolygon = false; - //g.setColor(Color.black); - //System.out.println("black"); - break; - case '#': - if(text.charAt(i+1) == '0'){ - //g.setColor(Color.black); - } - else if(text.charAt(i+1) == '1'){ - //g.setColor(new Color(0,100,0)); - } - else if(text.charAt(i+1) == '2'){ - //g.setColor(Color.red); - } - else if(text.charAt(i+1) == '3'){ - //g.setColor(Color.yellow); - } - else if(text.charAt(i+1) == '4'){ - //g.setColor(Color.blue); - } - i++; - break; - case '&': - //g.setColor(new Color((int)(Math.random()*255), (int)(Math.random()*255), (int)(Math.random()*255))); - i++; - break; - } - } - - int width = image.getWidth(); - int height = image.getHeight(); - - if(currentPx < minX){ minX = currentPx; }; - if(currentPx > maxX){ maxX = currentPx; }; - if(currentPy < minY){ minY = currentPy; }; - if(currentPy > maxY){ maxY = currentPy; }; - - double deltaX = Math.abs(maxX-minX); - double deltaY = Math.abs(maxY-minY); - if(deltaX > deltaY){ - walkDistance = (width/deltaX); - if(deltaY * walkDistance > height){ - walkDistance = walkDistance * (height/(deltaY * walkDistance)); - } - } - else{ - walkDistance = (height/deltaY); - if(deltaX * walkDistance > width){ - walkDistance = walkDistance * (width/(deltaX * walkDistance)); - } - } - - walkDistance *= 0.9; - - startPx = (int)((width/2)-((minX+((deltaX)/2))*walkDistance)); - startPy = (int)((height/2)-((minY+(deltaY/2))*walkDistance)); - - } - - private void drawLine(int x0, int y0, int x1, int y1, MarvinImage image){ - boolean steep = (Math.abs(y1 - y0) > Math.abs(x1 - x0)); - int temp; - if(steep){ - temp = x0; - x0 = y0; - y0 = temp; - - temp = x1; - x1 = y1; - y1 = temp; - } - if(x0 > x1){ - temp = x0; - x0 = x1; - x1 = temp; - - temp = y0; - y0 = y1; - y1 = temp; - } - - int deltax = x1 - x0; - int deltay = Math.abs(y1 - y0); - int error = deltax / 2; - int ystep; - int y = y0; - - if(y0 < y1){ - ystep = 1; - } - else{ - ystep = -1; - } - - for(int x=x0; x<=x1; x++){ - if(steep){ - if(y >= 0 && y < image.getWidth() && x >= 0 && x < image.getHeight()){ - image.setIntColor(y,x,0,0,0); - } - } - else{ - if(x >= 0 && x < image.getWidth() && y >= 0 && y < image.getHeight()){ - image.setIntColor(x,y,0,0,0); - } - } - - error = error - deltay; - if (error < 0){ - y = y + ystep; - error = error + deltax; - } - } - } -} - diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/mandelbrot/Mandelbrot.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/mandelbrot/Mandelbrot.java deleted file mode 100644 index 96ebe09..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/mandelbrot/Mandelbrot.java +++ /dev/null @@ -1,151 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.mandelbrot; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Gabriel Ambrósio Archanjo - */ -public class Mandelbrot extends MarvinAbstractImagePlugin{ - - private final static String MODEL_0 = "Model 0"; - private final static String MODEL_1 = "Model 1"; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private int colorModel; - int width; - int height; - - public void load() { - attributes = getAttributes(); - attributes.set("zoom", 1.0); - attributes.set("xCenter", 0.0); - attributes.set("yCenter", 0.0); - attributes.set("iterations", 500); - attributes.set("colorModel", MODEL_0); - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes out2, - MarvinImageMask a_mask, - boolean previewMode - ) - { - width = imageOut.getWidth(); - height = imageOut.getHeight(); - - double zoom = (Double)attributes.get("zoom"); - double xc = (Double)attributes.get("xCenter"); - double yc = (Double)attributes.get("yCenter"); - int iterations = (Integer)attributes.get("iterations"); - - if(((String)attributes.get("colorModel")).equals(MODEL_0)){ - colorModel = 0; - } else{ - colorModel = 1; - } - - - double factor = 5.0/zoom; - int iter; - - double x0,y0; - double nx; - double ny; - double nx1; - double ny1; - - boolean[][] mask = a_mask.getMask(); - - for (int i=0; i < height; i++) { - for (int j = 0; j < width; j++) { - - if(mask != null && !mask[j][i]){ continue; } - - x0 = xc - factor/2 + factor*j/width; - y0 = yc - factor/2 + factor*i/height; - - nx=x0; - ny=y0; - - iter=0; - while(Math.sqrt(nx*nx + ny*ny) < 2.0 && iter < iterations){ - nx1 = nx*nx-ny*ny; - ny1 = 2*(nx*ny); - - nx = nx1+x0; - ny = ny1+y0; - iter++; - } - imageOut.setIntColor(j,height-1-i, 255, getColor(iter, iterations, colorModel)); - } - } - } - - private int getColor(int iter, int max, int colorModel){ - if(colorModel == 0){ - return getColor0(iter, max); - } - return getColor1(iter, max); - } - - private int getColor1(int iter, int max){ - double f = 0x00FFFFFF/max; - int i = (int)(iter*f); - int blue = (i&0xFF0000)>>16; - int green = (i&0x00FF00)>>8; - int red = (i&0x0000FF); - return blue + (green << 8) + (red << 16); - } - - private int getColor0(int iter, int max) { - int red = (int) ((Math.cos(iter / 10.0f) + 1.0f) * 127.0f); - int green = (int) ((Math.cos(iter / 20.0f) + 1.0f) * 127.0f); - int blue = (int) ((Math.cos(iter / 300.0f) + 1.0f) * 127.0f); - return blue + (green << 8) + (red << 16); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblXCenter", "X Center:"); - attributesPanel.addTextField("txtXCenter", "xCenter", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblYCenter", "Y Center:"); - attributesPanel.addTextField("txtYCenter", "yCenter", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblZoom", "Zoom:"); - attributesPanel.addTextField("txtZoom", "zoom", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblIterations", "Iterations:"); - attributesPanel.addTextField("txtIterations", "iterations", attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblColorModel", "Color Model:"); - attributesPanel.addComboBox("combColorModel", "colorModel", new Object[]{MODEL_0, MODEL_1}, attributes); - } - return attributesPanel; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/renderText/RenderText.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/renderText/RenderText.java deleted file mode 100644 index 8b1086a..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/render/renderText/RenderText.java +++ /dev/null @@ -1,132 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.render.renderText; - -import java.util.HashMap; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class RenderText extends MarvinAbstractImagePlugin{ - - private MarvinAttributes attributes; - private HashMap chars; - - @Override - public void load() { - - attributes = getAttributes(); - attributes.set("x", 0); - attributes.set("y", 0); - attributes.set("color", 0); - attributes.set("text", ""); - - - - // Character description - chars = new HashMap(); - - chars.put('A', new CharacterDescription(0,2,19,17)); - chars.put('B', new CharacterDescription(24,2,17,17)); - chars.put('C', new CharacterDescription(47,2,17,17)); - chars.put('D', new CharacterDescription(70,2,17,17)); - chars.put('E', new CharacterDescription(93,2,16,17)); - chars.put('F', new CharacterDescription(115,2,15,17)); - chars.put('G', new CharacterDescription(136,2,18,17)); - chars.put('H', new CharacterDescription(161,2,18,17)); - chars.put('I', new CharacterDescription(186,2,8,17)); - chars.put('J', new CharacterDescription(200,2,15,17)); - chars.put('K', new CharacterDescription(222,2,20,17)); - chars.put('L', new CharacterDescription(247,2,15,17)); - chars.put('M', new CharacterDescription(268,2,17,17)); - chars.put('N', new CharacterDescription(295,2,18,17)); - chars.put('O', new CharacterDescription(320,2,18,17)); - chars.put('P', new CharacterDescription(345,2,16,17)); - chars.put('Q', new CharacterDescription(367,2,19,17)); - chars.put('R', new CharacterDescription(392,2,17,17)); - chars.put('S', new CharacterDescription(414,2,17,17)); - chars.put('T', new CharacterDescription(436,2,17,17)); - chars.put('U', new CharacterDescription(459,2,18,17)); - chars.put('V', new CharacterDescription(483,2,18,17)); - chars.put('W', new CharacterDescription(507,2,22,17)); - chars.put('X', new CharacterDescription(534,2,19,17)); - chars.put('Y', new CharacterDescription(557,2,19,17)); - chars.put('Z', new CharacterDescription(580,2,17,17)); - chars.put('0', new CharacterDescription(602,2,16,17)); - chars.put('1', new CharacterDescription(624,2,12,17)); - chars.put('2', new CharacterDescription(644,2,16,17)); - chars.put('3', new CharacterDescription(665,2,16,17)); - chars.put('4', new CharacterDescription(686,2,16,17)); - chars.put('5', new CharacterDescription(707,2,16,17)); - chars.put('6', new CharacterDescription(728,2,16,17)); - chars.put('7', new CharacterDescription(749,2,16,17)); - chars.put('8', new CharacterDescription(770,2,16,17)); - chars.put('9', new CharacterDescription(791,2,16,17)); - chars.put(':', new CharacterDescription(813,2,8,17)); - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean mode - ) - { - MarvinImage font = (MarvinImage)attributes.get("fontFile"); - String text = (String)attributes.get("text"); - int x = (Integer)attributes.get("x"); - int y = (Integer)attributes.get("y"); - int color = (Integer)attributes.get("color"); - CharacterDescription charDesc; - - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.restoration.noiseReduction; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Restores noise from the degraded noisy image. - * Ref paper - Rudin Osher Fatemi:'Nonlinear TotalVariation based noise removal techniques'. - * - * - * @version 1.0 02/28/2008 - * @author Smita Nair - */ - -public class NoiseReduction extends MarvinAbstractImagePlugin { - - MarvinPerformanceMeter performanceMeter; - double mat1[][],mat2[][],mat3[][],mat4[][],mata[][]; - double img_x[][],img_y[][],img_xx[][],img_yy[][],img_xy[][]; - double matr[][],matg[][],matb[][]; - double img_org[][]; - int width; - int height; - - - public void load(){ - performanceMeter = new MarvinPerformanceMeter(); - } - - public MarvinAttributesPanel getAttributesPanel(){return null;} - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - width=a_imageIn.getWidth(); - height=a_imageIn.getHeight(); - - mat1=new double[width][height]; - mat2=new double[width][height]; - mat4=new double[width][height]; - mata=new double[width][height]; - - img_x=new double[width][height]; - img_y=new double[width][height]; - img_xx=new double[width][height]; - img_yy=new double[width][height]; - img_xy=new double[width][height]; - - matr=new double[width][height]; - matg=new double[width][height]; - matb=new double[width][height]; - - - - performanceMeter.start("RestoreNoise"); - performanceMeter.startEvent("RestoreNoise"); - - - int iter=20; //no of iterations - - // Put the color values in double array - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - matr[x][y]= a_imageIn.getIntComponent0(x, y); - matg[x][y]= a_imageIn.getIntComponent1(x, y); - matb[x][y]= a_imageIn.getIntComponent2(x, y); - } - } - - // Call denoise function - matr=denoise(matr,iter); - matg=denoise(matg,iter); - matb=denoise(matb,iter); - - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - a_imageOut.setIntColor(x,y,(int)truncate(matr[x][y]),(int)truncate(matg[x][y]),(int)truncate(matb[x][y])); - } - performanceMeter.stepsFinished(height); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - - //Function : denoise - Restores noisy images, input- double array containing color data - public double[][] denoise(double mat[][],int iter) - { - img_org=new double[width][height]; - double img_res[][]=new double[width][height]; - double l_currentNum; - double l_currentDen; - int val=1;double lam=0; - double dt=0.4; - - - img_org=mat; - - //Perform iterations - - for (int it = 0;it0) - mat2[i][j]= mat2[1][j]; - else if(j==0) - mat2[i][0]= mat2[i][1]; - - if (i==0 && j 255) return 255; - else return a; - } - - -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/segmentation/crop/Crop.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/segmentation/crop/Crop.java deleted file mode 100644 index 9a47e26..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/segmentation/crop/Crop.java +++ /dev/null @@ -1,74 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.segmentation.crop; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -public class Crop extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - attributes.set("x", 0); - attributes.set("y", 0); - attributes.set("width", 0); - attributes.set("height", 0); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblX", "x:"); - attributesPanel.addTextField("txtX", "x", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblY", "y:"); - attributesPanel.addTextField("txtY", "y", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblWidth", "width:"); - attributesPanel.addTextField("txtWidth", "width", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblHeight", "height:"); - attributesPanel.addTextField("txtHeight", "height", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int x = (Integer)attributes.get("x"); - int y = (Integer)attributes.get("y"); - int width = (Integer)attributes.get("width"); - int height = (Integer)attributes.get("height"); - - imageOut.setDimension(width, height); - - for(int i=x; i 0){ - Color c = new Color(0xFF000000 | (currentColor++)); - floodfill.setAttribute("x", x); - floodfill.setAttribute("y", y); - floodfill.setAttribute("color", c); - floodfill.process(image, fillBuffer); - } - } - } - - MarvinSegment[] segments = new MarvinSegment[currentColor-1]; - MarvinSegment seg; - for(int y=0; y 0){ - - seg = segments[color-1]; - - if(seg == null){ - seg = new MarvinSegment(); - segments[color-1] = seg; - } - - // x and width - if(seg.x1 == -1 || x < seg.x1) { seg.x1 = x; } - if(seg.x2 == -1 || x > seg.x2) { seg.x2 = x; } - seg.width = (seg.x2-seg.x1)+1; - - // y and height; - if(seg.y1 == -1 || y < seg.y1) { seg.y1 = y; } - if(seg.y2 == -1 || y > seg.y2) { seg.y2 = y; } - seg.height = (seg.y2-seg.y1)+1; - - seg.area++; - } - } - } - - return segments; - } - - private MarvinBlobSegment[] blobSegments(MarvinImage image, MarvinSegment[] segments){ - - MarvinBlobSegment[] blobSegments = new MarvinBlobSegment[segments.length]; - - int colorSegment; - MarvinSegment seg; - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.segmentation.imageSlicer; - -import java.io.File; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; - -import javax.imageio.ImageIO; -import javax.swing.JOptionPane; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.util.MarvinErrorHandler; -import marvin.util.MarvinFileChooser; - - -/** - * Image Slicer plug-in. - * @author Hugo Henrique Slepicka - * @version 1.1 05/11/2008 - */ -public class ImageSlicer extends MarvinAbstractImagePlugin { - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private MarvinPerformanceMeter performanceMeter; - private DecimalFormat df = new DecimalFormat("000"); - - public void load() { - attributes = getAttributes(); - attributes.set("txtLines", 1); - attributes.set("txtCols", 1); - performanceMeter = new MarvinPerformanceMeter(); - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - int conti, contx, conty, col, line, r, g, b, lines, cols, limitl, limitc; - - //Initialize the variables... - col = line = conti = contx = conty = 0; - - //Get the values from objects... - lines = Integer.parseInt(attributes.get("txtLines").toString()); - cols = Integer.parseInt(attributes.get("txtCols").toString()); - - - - //Get the image width and height... - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - //Set the vertical and horizontal limits of the images - limitl = (height/lines); - limitc = (width/cols); - - if(a_previewMode != true){ - //Creates the list to store the marvin Images of the sliced image... - List listaImgs = new ArrayList(); - - //Sets the default image to the images on the list... - for(int x=0;x<(lines*cols);x++){ - listaImgs.add(new MarvinImage(limitc, limitl)); - } - - //Creates the Performance Meter... - performanceMeter.enableProgressBar("Image Slicer", (lines*cols*limitc*limitl)); - int x,y=0; - for(line=0;line -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.statistical.maximum; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Fabio Andrijauskas - */ -public class Maximum extends MarvinAbstractImagePlugin { - - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - MarvinPerformanceMeter performanceMeter; - - public void load() { - attributes = getAttributes(); - attributes.set("size", 3); - //attributes.set("shift", 0); - //attributes.set("circlesDistance", 0); - performanceMeter = new MarvinPerformanceMeter(); - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //MarvinImage img = new MarvinImage(a_image.getWidth(),a_image.getHeight()); - performanceMeter.start("Maximum Filter"); - - - int l_size = (Integer)attributes.get("size"); - int l_totalRed = 0; - int l_totalGreen = 0; - int l_totalBlue = 0; - int qtd = 0; - int tmpx = 0; - int tmpy = 0; - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - performanceMeter.enableProgressBar("Maximum Filter" ,a_imageIn.getWidth() * a_imageIn.getHeight() ); - performanceMeter.startEvent("Maximum Filter"); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - tmpx = x - l_size; - tmpy = y - l_size; - - if(tmpx < 0) - tmpx = 0; - if(tmpy < 0) - tmpy = 0; - - int finalX = x + l_size; - - int finalY = y + l_size; - - if(finalX > width) - finalX = width; - - if(finalY > height) - finalY = height; - - for (int xm = tmpx; xm < finalX ; xm++) { - for (int ym = tmpy; ym < y + l_size ; ym++) { - - if(xm >= 0 && xm < width && ym >= 0 && ym < height ) - { - int rgb = a_imageIn.getIntColor(xm, ym); - - int r = (int)(rgb & 0x00FF0000) >>> 16; - if(r > l_totalRed) - { - l_totalRed = r; - } - - int g = (int) ((rgb & 0x0000FF00) >>> 8); - if(g > l_totalGreen ) - { - l_totalGreen = g; - } - - int b = (int) (rgb & 0x000000FF); - if(b > l_totalBlue) - { - l_totalBlue = b; - } - - } - } - } - - a_imageOut.setIntColor(x, y, a_imageIn.getAlphaComponent(x, y), l_totalRed, l_totalGreen, l_totalBlue); - - l_totalRed = 0; - l_totalGreen = 0; - l_totalBlue = 0; - } - performanceMeter.incProgressBar(height); - performanceMeter.stepsFinished(height); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Size:"); - attributesPanel.addTextField("txtSize", "size", attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/median/Median.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/median/Median.java deleted file mode 100644 index c202fe0..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/median/Median.java +++ /dev/null @@ -1,127 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.statistical.median; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Fabio Andrijauskas - */ -public class Median extends MarvinAbstractImagePlugin { - - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - MarvinPerformanceMeter performanceMeter; - - public void load() { - attributes = getAttributes(); - attributes.set("size", 3); - //attributes.set("shift", 0); - //attributes.set("circlesDistance", 0); - performanceMeter = new MarvinPerformanceMeter(); - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - performanceMeter.start("Median Filter"); - - - int l_size = (Integer)attributes.get("size"); - int l_totalRed = 0; - int l_totalGreen = 0; - int l_totalBlue = 0; - int qtd = 0; - int tmpx = 0; - int tmpy = 0; - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - performanceMeter.enableProgressBar("Median Filter" ,a_imageIn.getWidth() * a_imageIn.getHeight() ); - performanceMeter.startEvent("Median Filter"); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - tmpx = x - l_size; - tmpy = y - l_size; - - if(tmpx < 0) - tmpx = 0; - if(tmpy < 0) - tmpy = 0; - - int finalX = x + l_size; - - int finalY = y + l_size; - - if(finalX > width) - finalX = width; - - if(finalY > height) - finalY = height; - - for (int xm = tmpx; xm < finalX ; xm++) { - for (int ym = tmpy; ym < y + l_size ; ym++) { - - if(xm >= 0 && xm < width && ym >= 0 && ym < height ) - { - int rgb = a_imageIn.getIntColor(xm, ym); - l_totalRed += (int)(rgb & 0x00FF0000) >>> 16; - l_totalGreen += (int) ((rgb & 0x0000FF00) >>> 8); - l_totalBlue += (int) (rgb & 0x000000FF); - qtd++; - } - } - } - - a_imageOut.setIntColor(x, y, a_imageIn.getAlphaComponent(x, y), l_totalRed / qtd, l_totalGreen / qtd, l_totalBlue / qtd); - - l_totalRed = 0; - l_totalGreen = 0; - l_totalBlue = 0; - qtd = 0; - } - performanceMeter.incProgressBar(height); - performanceMeter.stepsFinished(height); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Size:"); - attributesPanel.addTextField("txtSize", "size", attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/minimum/Minimum.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/minimum/Minimum.java deleted file mode 100644 index 3f9845d..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/minimum/Minimum.java +++ /dev/null @@ -1,146 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.statistical.minimum; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Fabio Andrijauskas - */ -public class Minimum extends MarvinAbstractImagePlugin { - - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - MarvinPerformanceMeter performanceMeter; - - public void load() { - attributes = getAttributes(); - attributes.set("size", 3); - //attributes.set("shift", 0); - //attributes.set("circlesDistance", 0); - performanceMeter = new MarvinPerformanceMeter(); - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - performanceMeter.start("Minimum Filter"); - - - int l_size = (Integer)attributes.get("size"); - int l_totalRed = 0; - int l_totalGreen = 0; - int l_totalBlue = 0; - int qtd = 0; - int tmpx = 0; - int tmpy = 0; - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - performanceMeter.enableProgressBar("Minimum Filter" ,a_imageIn.getWidth() * a_imageIn.getHeight() ); - performanceMeter.startEvent("Minimum Filter"); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - l_totalRed = 255; - l_totalGreen = 255; - l_totalBlue = 255; - tmpx = x - l_size; - tmpy = y - l_size; - - if(tmpx < 0) - tmpx = 0; - if(tmpy < 0) - tmpy = 0; - - int finalX = x + l_size; - - int finalY = y + l_size; - - if(finalX > width) - finalX = width; - - if(finalY > height) - finalY = height; - - for (int xm = tmpx; xm < finalX ; xm++) { - for (int ym = tmpy; ym < y + l_size ; ym++) { - - if(xm >= 0 && xm < width && ym >= 0 && ym < height ) - { - int rgb = a_imageIn.getIntColor(xm, ym); - - int r = (int)(rgb & 0x00FF0000) >>> 16; - if(r < l_totalRed) - { - l_totalRed = r; - } - - - int g = (int) ((rgb & 0x0000FF00) >>> 8); - if( g < l_totalGreen) - { - l_totalGreen = g; - } - - - int b = (int) (rgb & 0x000000FF); - if( b < l_totalBlue ) - { - l_totalBlue = b; - } - - } - } - } - - a_imageOut.setIntColor(x, y, a_imageIn.getAlphaComponent(x, y), l_totalRed, l_totalGreen, l_totalBlue); - - l_totalRed = 0; - l_totalGreen = 0; - l_totalBlue = 0; - } - performanceMeter.incProgressBar(height); - performanceMeter.stepsFinished(height); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Size:"); - attributesPanel.addTextField("txtSize", "size", attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/mode/Mode.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/mode/Mode.java deleted file mode 100644 index aaf1b4f..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/statistical/mode/Mode.java +++ /dev/null @@ -1,190 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.statistical.mode; - -import java.util.HashMap; -import java.util.Map; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.performance.MarvinPerformanceMeter; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * @author Fabio Andrijauskas - */ -public class Mode extends MarvinAbstractImagePlugin { - - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - MarvinPerformanceMeter performanceMeter; - - public void load() { - attributes = getAttributes(); - attributes.set("size", 3); - //attributes.set("shift", 0); - //attributes.set("circlesDistance", 0); - performanceMeter = new MarvinPerformanceMeter(); - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - performanceMeter.start("Moda Filter"); - - - int l_size = (Integer)attributes.get("size"); - int mapSize = l_size * l_size; - int l_totalRed = 0; - int l_totalGreen = 0; - int l_totalBlue = 0; - int qtd = 0; - int tmpx = 0; - int tmpy = 0; - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - Map mapModaR; - Map mapModaG; - Map mapModaB; - - performanceMeter.enableProgressBar("Moda Filter" ,a_imageIn.getWidth() * a_imageIn.getHeight() ); - performanceMeter.startEvent("Moda Filter"); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - tmpx = x - l_size; - tmpy = y - l_size; - - mapModaR = new HashMap(mapSize); - mapModaG = new HashMap(mapSize); - mapModaB = new HashMap(mapSize); - - if(tmpx < 0) - tmpx = 0; - if(tmpy < 0) - tmpy = 0; - - int finalX = x + l_size; - - int finalY = y + l_size; - - if(finalX > width) - finalX = width; - - if(finalY > height) - finalY = height; - - for (int xm = tmpx; xm < finalX ; xm++) { - for (int ym = tmpy; ym < y + l_size ; ym++) { - - if(xm >= 0 && xm < width && ym >= 0 && ym < height ) - { - int rgb = a_imageIn.getIntColor(xm, ym); - l_totalRed = (int)(rgb & 0x00FF0000) >>> 16; - l_totalGreen = (int) ((rgb & 0x0000FF00) >>> 8); - l_totalBlue = (int) (rgb & 0x000000FF); - - Integer l_val = mapModaR.get(l_totalRed); - if(l_val == null) - l_val = 0; - - mapModaR.put((Integer)l_totalRed, ++l_val); - - - - l_val = mapModaG.get(l_totalGreen); - if(l_val == null) - l_val = 0; - - mapModaG.put((Integer)l_totalGreen, ++l_val); - - - - - l_val = mapModaB.get(l_totalBlue); - if(l_val == null) - l_val = 0; - - mapModaB.put((Integer)l_totalBlue, ++l_val); - - - } - } - } - - Integer r1 = 0; - for(Integer it : mapModaR.keySet()) - { - if( mapModaR.get(it) >= r1) - { - r1 = it; - } - - } - - Integer g1 = 0; - for(Integer it : mapModaG.keySet()) - { - if( mapModaG.get(it) >= g1) - { - g1 = it; - } - - } - - Integer b1 = 0; - for(Integer it : mapModaB.keySet()) - { - if( mapModaB.get(it) >= b1) - { - b1 = it; - } - - } - - a_imageOut.setIntColor(x, y, a_imageIn.getAlphaComponent(x, y), r1 , g1 , b1 ); - - - } - performanceMeter.incProgressBar(height); - performanceMeter.stepsFinished(height); - } - performanceMeter.finishEvent(); - performanceMeter.finish(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Size:"); - attributesPanel.addTextField("txtSize", "size", attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/steganography/Steganography.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/steganography/Steganography.java deleted file mode 100644 index 5ed6315..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/steganography/Steganography.java +++ /dev/null @@ -1,595 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.steganography; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JOptionPane; -import javax.swing.JTextArea; -import javax.swing.filechooser.FileNameExtensionFilter; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinPluginWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.util.MarvinFileChooser; - -/** - * Steganography plug-in - * @author Hugo Henrique Slepicka - */ -public class Steganography extends MarvinAbstractImagePlugin implements ActionListener{ - - private enum Action{ - MODE_READ, MODE_WRITE - }; - - private enum Type{ - TYPE_TEXT, TYPE_FILE - }; - - private final int numArgs = 3; - - private final int RED = 0; - private final int GREEN = 1; - private final int BLUE = 2; - - - private int currentColor = RED; - private int currentPixel = 0; - - private MarvinAttributes attributes; - private MarvinAttributesPanel attributesPanel; - //private MarvinPluginWindow pluginWindow; - private JButton buttonOK; - private byte[] put; - private byte[] get; - - private Type type; - private long pixels; - private String ext; - private int xH, yH = 0; - - public void load() { - attributes = getAttributes(); - attributes.set("txtLines", ""); - attributes.set("cbSelection", "Write on Image"); - attributes.set("cbType", "Store a file"); - } - - - - public Action getAction(){ - String s = attributes.get("cbSelection").toString(); - if(s.equals("Write on Image")){ - return (Action.MODE_WRITE); - }else{ - return (Action.MODE_READ); - } - } - - public Type getType(){ - String s = attributes.get("cbType").toString(); - if(s.equals("Store a file")){ - return (Type.TYPE_FILE); - }else{ - return (Type.TYPE_TEXT); - } - } - - public void getHEADER(MarvinImage a_image){ - //Cabeçalho do arquivo no seguinte formato: - //Tipo_do_armazenamento/Extensao/Qtde_Pixels - //F/docx/12345 - int cont = 0; - String binpar = ""; - String pixaux = ""; - ext = ""; - type = null; - pixels = 0L; - - currentColor = RED; - currentPixel = 0; - - while(cont != numArgs){ - binpar += readBit(a_image); - if(binpar.length()==8){ - //If equals, increment cont - if(binpar.equals("00101111")){ - cont++; - }else{ - - switch(cont){ - //File Type - case 0: - if(binpar.equals("01010100")){ - type = Type.TYPE_TEXT; - }else{ - type = Type.TYPE_FILE; - } - break; - //File Extension - case 1: - ext += (char) Integer.parseInt(binpar,2); - break; - //Pixels - case 2: - pixaux += (char) Integer.parseInt(binpar,2); - break; - } - } - binpar = ""; - } - } - xH = currentPixel/a_image.getHeight(); - yH = currentPixel%a_image.getHeight(); - pixels = Long.valueOf(pixaux); - } - - public String setHEADER(File fileOrigin){ - - //File header in the following format: - //Storage type/Extension/Pixel amount - //F/docx/12345 - String rec = ""; - switch(getType()){ - case TYPE_FILE: - rec += "F"; - break; - case TYPE_TEXT: - rec += "T"; - break; - } - - rec += "/"; - rec += fileOrigin.getName().substring(fileOrigin.getName().lastIndexOf('.')+1); - rec += "/"; - rec += fileOrigin.length()*8; - rec += "/"; - - return rec; - } - - public String setHEADER(String Message){ - - //File header in the following format: - //Storage type/Extension/Pixel amount - //F/docx/12345/ - String rec = ""; - switch(getType()){ - case TYPE_FILE: - rec += "F"; - break; - case TYPE_TEXT: - rec += "T"; - break; - } - - rec += "/"; - rec += "txt"; - rec += "/"; - rec += Message.length()*8; - rec += "/"; - - return rec; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - int l_result = 0; - String name = ""; - - //Get the action - Write File/Read File - switch(getAction()){ - case MODE_WRITE: - //Get the Type of record to store in image... - switch(getType()){ - case TYPE_FILE: - try{ - JOptionPane.showMessageDialog(null, "Select a file to store on image"); - JFileChooser jfc = new JFileChooser("./img"); - jfc.setAcceptAllFileFilterUsed(true); - l_result = jfc.showOpenDialog(attributesPanel); - - if(l_result != JFileChooser.CANCEL_OPTION){ - name = jfc.getSelectedFile().getCanonicalPath(); - } - } catch(IOException ex){ - ex.printStackTrace(); - } - if((l_result != JFileChooser.CANCEL_OPTION)&&(name != null)&&(name.length() > 0)){ - File arq = new File(name); - PrepareFile(arq); - }else{ - JOptionPane.showMessageDialog(null, "Invalid file name!"); - return ; - } - break; - case TYPE_TEXT: - prepareFile(((JTextArea) attributesPanel.getComponent("txtLines").getComponent()).getText()); - break; - } - if(storeOnImage(a_imageIn, put)){ - a_imageIn.update(); - JOptionPane.showMessageDialog(null, "Image modified successfully"); - attributesPanel.getParent().setVisible(false); - } - break; - case MODE_READ: - if(isPng(a_imageIn)){ - switch(StorageType(a_imageIn)){ - case TYPE_TEXT: - JOptionPane.showMessageDialog(null, "Text found!"); - ReadText(a_imageIn); - break; - case TYPE_FILE: - JOptionPane.showMessageDialog(null, "File found!"); - ReadFile(a_imageIn); - break; - default: - JOptionPane.showMessageDialog(null, "This file does not contain any content!"); - } - }else{ - JOptionPane.showMessageDialog(null, "The image must be in PNG format!"); - return ; - } - break; - } - } - - public MarvinAttributesPanel getAttributesPanel(){ - - attributesPanel = new MarvinAttributesPanel(); - //Create the objects to receive the text that will be masked on the image... - attributesPanel.newComponentRow(); - attributesPanel.addComboBox("cbSelection", "cbSelection", new String[] {"Read from Image","Write on Image"}, attributes); - attributesPanel.newComponentRow(); - attributesPanel.addComboBox("cbType", "cbType", new String[] {"Store a file","Store a text"}, attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblTexto", "Type below the text to be stored:"); - attributesPanel.newComponentRow(); - attributesPanel.addTextArea("txtLines", "txtLines", 6, 40, attributes); - - attributesPanel.newComponentRow(); - - buttonOK = new JButton("OK"); - buttonOK.addActionListener(this); - attributesPanel.getCurrentPanel().add(buttonOK); - - JComboBox cbSel = (JComboBox) attributesPanel.getComponent("cbSelection").getComponent(); - cbSel.addActionListener(this); - - JComboBox cbType = (JComboBox) attributesPanel.getComponent("cbType").getComponent(); - cbType.setVisible(false); - - return attributesPanel; - - } - - - - public boolean storeOnImage(MarvinImage a_image, byte[] Put){ - -// if((Put.length*8) > (a_image.getWidth()*a_image.getHeight()*3)){ -// JOptionPane.showMessageDialog(null, "Espaço insulficiente na imagem para armazenar informaçőes solicitadas.","Marvin", JOptionPane.ERROR_MESSAGE); -// return false; -// }else{ - for (int l_pos = 0; l_pos < put.length; l_pos++){ - for (int l_bit = 0; l_bit < 8; l_bit++){ - storeBit(a_image, put[l_pos], 7-l_bit); - } - } -// } - return true; - } - - private Type StorageType(MarvinImage a_image){ - getHEADER(a_image); - return type; - } - - private void ReadText(MarvinImage a_image){ - get = new byte[(int) (pixels/8)]; - String msgbin = ""; - String msg = ""; - int cont = 0; - - for(int i = 0; i < pixels; i++){ - msgbin += readBit(a_image); - if(msgbin.length() == 8){ - get[cont] = (byte) Integer.parseInt(msgbin,2); - msgbin = ""; - cont++; - } - } - - for(int i = 0; i < get.length; i++){ - msg += (char) get[i]; - } - - ((JTextArea) attributesPanel.getComponent("txtLines").getComponent()).setText(msg); - } - - private void ReadFile(MarvinImage a_image){ - get = new byte[(int) (pixels/8)]; - String msgbin = ""; - int cont = 0; - - for(int i = 0; i < pixels; i++){ - msgbin += readBit(a_image); - if(msgbin.length() == 8){ - get[cont] = (byte) Integer.parseInt(msgbin,2); - msgbin = ""; - cont++; - } - } - - try { - String name = ""; - JOptionPane.showMessageDialog(null, "Select the file destination."); - FileNameExtensionFilter[] vExt = new FileNameExtensionFilter[]{new FileNameExtensionFilter("File - *."+ext,ext)}; - name = MarvinFileChooser.select(attributesPanel,false,MarvinFileChooser.SAVE_DIALOG,vExt); - - if((name != null)&&(name.length() > 0)){ - File fileOutput = new File(name); - - FileOutputStream out = new FileOutputStream(fileOutput); - BufferedOutputStream on = new BufferedOutputStream(out); - - for(int i = 0; i < get.length; i++){ - on.write((int) get[i]); - } - on.close(); - }else{ - JOptionPane.showMessageDialog(null, "Invalid file name."); - } - }catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - } - - private void prepareFile(String Message){ - - String header = ""; - int cont = 0; - - header = setHEADER(Message); - - put = new byte[header.length()+Message.length()]; - - for (int j = 0; j < header.length(); j++){ - put[cont] = (byte) header.charAt(j); - cont++; - } - - for (int j = 0; j < Message.length(); j++){ - put[cont] = (byte) Message.charAt(j); - cont++; - } - } - - private void PrepareFile(File FileName){ - String header = ""; - int cont = 0; - - try{ - File fileOrigin = FileName; - - - FileInputStream i = new FileInputStream(fileOrigin); - BufferedInputStream in = new BufferedInputStream(i); - byte[] arq = new byte[(int) fileOrigin.length()]; - - - in.read(arq); - - header = setHEADER(FileName); - - put = new byte[header.length() + arq.length]; - - for (int j = 0; j < header.length(); j++){ - put[cont] = (byte) header.charAt(j); - cont++; - } - - for(int r=0;r 255) return 255; - else return a; - } - - public void actionPerformed(ActionEvent e) { - - if(e.getSource() == buttonOK){ - attributesPanel.applyValues(); - process(getImagePanel().getImage(), null); - } - else{ - JComboBox cbSel = (JComboBox) attributesPanel.getComponent("cbSelection").getComponent(); - JComboBox cbType = (JComboBox) attributesPanel.getComponent("cbType").getComponent(); - - cbType.setVisible(cbSel.getSelectedItem() == "Write on Image"); - } - } - - private boolean isPng(MarvinImage a_image){ - String ext = a_image.getFormatName(); - if((ext != null)&&(ext.equals("png"))){ - return true; - }else{ - return false; - } - } - - private int getBit(int dado, int bit){ - return ((dado & (0x1 << bit)) >> bit); - } - - private void storeBit(MarvinImage image, byte dado, int bit){ - int currX, currY; - int vbit; - int r,g,b; - - currX = currentPixel/image.getHeight(); - currY = currentPixel%image.getHeight(); - - vbit = getBit(dado, bit); - - r = image.getIntComponent0(currX, currY); - g = image.getIntComponent1(currX, currY); - b = image.getIntComponent2(currX, currY); - - switch(currentColor){ - case RED: - if(vbit == 0){ - //If r is odd - if(r % 2 !=0){ - //If r+i is less than 255 - if(r + 1 <255){ r += 1; }else{ r -= 1; } - } - }else{ - //If r is even - if(r % 2 ==0){ - //If r+1 is less than 255 - if(r + 1 < 255){ r += 1; }else{ r -= 1; } - } - } - - image.setIntColor(currX, currY, r, g, b); - currentColor++; - break; - - case GREEN: - if(vbit == 0){ - //If g is odd - if(g % 2 !=0){ - //If g+i is less than 255 - if(g + 1 <255){ g += 1; }else{ g -= 1; } - } - }else{ - //If g is even - if(g % 2 ==0){ - //If g+1 is less than 255 - if(g + 1 < 255){ g += 1; }else{ g -= 1; } - } - } - - image.setIntColor(currX, currY, r, g, b); - - currentColor++; - break; - - case BLUE: - if(vbit == 0){ - //If b is odd - if(b % 2 !=0){ - //If b+1 is less than 255 - if(b + 1 <255){ b += 1; }else{ b -= 1; } - } - }else{ - //If b is even - if(b % 2 ==0){ - //If b+1 is less than 255 - if(b + 1 < 255){ b += 1; }else{ b -= 1; } - } - } - - image.setIntColor(currX, currY, r, g, b); - currentColor = RED; - currentPixel++; - break; - - } - } - - private char readBit(MarvinImage image){ - int currX, currY; - char result = '0'; - int r,g,b; - - - currX = currentPixel/image.getHeight(); - currY = currentPixel%image.getHeight(); - - r = image.getIntComponent0(currX, currY); - g = image.getIntComponent1(currX, currY); - b = image.getIntComponent2(currX, currY); - - switch(currentColor){ - case RED: - if(r%2==0) - result = '0'; - else - result = '1'; - currentColor++; - break; - - case GREEN: - if(g%2==0) - result = '0'; - else - result = '1'; - currentColor++; - break; - - case BLUE: - if(b%2==0) - result = '0'; - else - result = '1'; - currentColor = RED; - currentPixel++; - break; - } - return result; - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/subtract/Subtract.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/subtract/Subtract.java deleted file mode 100644 index db5c05c..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/subtract/Subtract.java +++ /dev/null @@ -1,83 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.subtract; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Subtract an image from another - * @author Gabriel Ambrosio Archanjo - */ -public class Subtract extends MarvinAbstractImagePlugin{ - - MarvinAttributes attributes; - MarvinImage imageBackground; - int colorRange; - - public void load(){ - attributes = getAttributes(); - attributes.set("colorRange", 30); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - imageBackground = (MarvinImage)attributes.get("backgroundImage"); - colorRange = (Integer)attributes.get("colorRange"); - - int l_red, - l_redBg, - l_green, - l_greenBg, - l_blue, - l_blueBg; - - for(int y=0; y colorRange || - Math.abs(l_greenBg-l_green)> colorRange || - Math.abs(l_blueBg-l_blue)> colorRange - ) - { - a_imageOut.setIntColor(x, y, a_imageIn.getIntColor(x, y)); - } - else{ - a_imageOut.setIntColor(x, y, 0,0,255); - } - } - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/determineGround/DetermineGround.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/determineGround/DetermineGround.java deleted file mode 100644 index 2384ec3..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/determineGround/DetermineGround.java +++ /dev/null @@ -1,202 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.test.determineGround; - -import java.awt.Color; -import java.awt.Point; -import java.util.LinkedList; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.brightnessAndContrast.BrightnessAndContrast; -import org.marvinproject.image.edge.edgeDetector.EdgeDetector; - -public class DetermineGround extends MarvinAbstractImagePlugin{ - - private MarvinImagePlugin l_pluginEdgeDetector, - l_pluginBC; - - public void load(){ - l_pluginEdgeDetector = new EdgeDetector(); - l_pluginEdgeDetector.load(); - l_pluginBC = new BrightnessAndContrast(); - l_pluginBC.load(); - l_pluginBC.setAttribute("contrast", 255); - } - - public MarvinAttributesPanel getAttributesPanel(){ return null; } - - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - MarvinImage l_originalImage = a_imageIn.clone(); - l_pluginEdgeDetector.process(a_imageIn, a_imageOut, a_attributesOut, a_mask, a_previewMode); - l_pluginBC.process(a_imageOut, a_imageOut, a_attributesOut, a_mask, a_previewMode); - - // remove black border - a_imageOut.drawRect(0, 0,a_imageOut.getWidth(), a_imageOut.getHeight(), Color.white); - - // Copy a_imageOut content to a_imageIn - a_imageOut.copyColorArray(a_imageOut, a_imageIn); - - max(a_imageIn, a_imageOut); - - //long time = System.currentTimeMillis(); - floodFill(a_imageOut, 10,400,0xFFFFFFFF, 0xFF00FF00); - //System.out.println("time:"+(System.currentTimeMillis()-time)); - - blend(a_imageOut, l_originalImage); - a_imageOut.copyColorArray(l_originalImage, a_imageOut); - } - - private void blend(MarvinImage a_imageIn, MarvinImage a_imageOut){ - for(int l_y=0; l_y 0 && a_x < a_image.getWidth() && a_y > 0 && a_y < a_image.getHeight()){ - a_image.setIntColor(a_x, a_y, 0,0,0); - } - } - - - /** - * Flood fill - not recursively - * @param a_image - * @param a_x - * @param a_y - * @param a_regionRGB - * @param a_regionNewRGB - */ - private void floodFill(MarvinImage a_image, int a_x, int a_y, int a_regionTargetRGB, int a_regionNewRGB){ - LinkedList l_list = new LinkedList(); - Point l_point, - l_pointW, - l_pointE; - - - if(a_image.getIntColor(a_x, a_y) != a_regionTargetRGB){ - return; - } - - l_list.add(new Point(a_x, a_y)); - - //for(int l_i=0; l_i 0){ - l_point = l_list.poll(); - l_pointW = new Point(l_point.x, l_point.y); - l_pointE = new Point(l_point.x, l_point.y); - - // west - while(true){ - if(l_pointW.x-1 > 0 && a_image.getIntColor(l_pointW.x-1, l_pointW.y) == a_regionTargetRGB){ - l_pointW.x--; - } - else{ - break; - } - } - - // east - while(true){ - if(l_pointE.x+1 < a_image.getWidth() && a_image.getIntColor(l_pointE.x+1, l_pointE.y) == a_regionTargetRGB){ - l_pointE.x++; - } - else{ - break; - } - } - - if(l_pointE.x == l_pointW.x && l_pointE.y == l_pointW.y){ - continue; - } - - // set color of pixels between pointW and pointE - for(int l_px=l_pointW.x; l_px<=l_pointE.x; l_px++){ - a_image.setIntColor(l_px, l_point.y, a_regionNewRGB); - - if(l_point.y-1 > 0 && a_image.getIntColor(l_px, l_point.y-1) == a_regionTargetRGB){ - l_list.add(new Point(l_px, l_point.y-1)); - } - if(l_point.y+1 < a_image.getHeight() && a_image.getIntColor(l_px, l_point.y+1) == a_regionTargetRGB){ - l_list.add(new Point(l_px, l_point.y+1)); - } - } - } - } - - private void foo(MarvinImage a_image, int a_x, int a_y, int a_regionRGB, int a_regionNewRGB){ - a_image.setIntColor(a_x, a_y, a_regionNewRGB); - - if(a_x-1 > 0 && a_image.getIntColor(a_x-1, a_y) == a_regionRGB){ - foo(a_image, a_x-1, a_y, a_regionRGB, a_regionNewRGB); - } - if(a_x+1 < a_image.getWidth() && a_image.getIntColor(a_x+1, a_y) == a_regionRGB){ - foo(a_image, a_x+1, a_y, a_regionRGB, a_regionNewRGB); - } - - if(a_y-1 > 0 && a_image.getIntColor(a_x, a_y-1) == a_regionRGB){ - foo(a_image, a_x, a_y-1, a_regionRGB, a_regionNewRGB); - } - if(a_y+1 < a_image.getHeight() && a_image.getIntColor(a_x, a_y+1) == a_regionRGB){ - foo(a_image, a_x, a_y+1, a_regionRGB, a_regionNewRGB); - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/plugin/Plugin.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/plugin/Plugin.java deleted file mode 100644 index 7dd1c04..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/test/plugin/Plugin.java +++ /dev/null @@ -1,249 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.test.plugin; - -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; - -import javax.swing.JSlider; -import javax.swing.JTextField; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.gui.MarvinPluginWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; -/** - * Sepia plug-in. Reference: {@link http://forum.java.sun.com/thread.jspa?threadID=728795&messageID=4195478} - * @author Hugo Henrique Slepicka - * @version 1.0.2 04/10/2008 - */ -public class Plugin extends MarvinAbstractImagePlugin implements ChangeListener, KeyListener{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private MarvinPluginWindow tela; - - public void load() { - attributes = getAttributes(); - attributes.set("hsR", 0); - attributes.set("hsG", 0); - attributes.set("hsB", 0); - attributes.set("txtR", "0"); - attributes.set("txtG", "0"); - attributes.set("txtB", "0"); - } - - public int truncate(int a) { - if (a < 0) return 0; - else if (a > 255) return 255; - else return a; - } - public int positive(int a) { - if (a < 0) return -a; - else return a; - } - - - public void process( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //RGB rgb = new RGB(); - RGB rgbImagem = new RGB(); - - int l_red = (Integer)attributes.get("hsR"); - int l_green = (Integer)attributes.get("hsG"); - int l_blue = (Integer)attributes.get("hsB"); - - int width = a_imageIn.getWidth(); - int height = a_imageIn.getHeight(); - - boolean[][] l_arrMask = a_mask.getMask(); - - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if(l_arrMask != null && !l_arrMask[x][y]){ - continue; - } - - rgbImagem.setR(a_imageIn.getIntComponent0(x, y)); - rgbImagem.setG(a_imageIn.getIntComponent1(x, y)); - rgbImagem.setB(a_imageIn.getIntComponent2(x, y)); - - rgbImagem.setR((int)(rgbImagem.getR()*(255.0/(255.0-l_red)))); - rgbImagem.setG((int)(rgbImagem.getG()*(255.0/(255.0-l_green)))); - rgbImagem.setB((int)(rgbImagem.getB()*(255.0/(255.0-l_blue)))); - - a_imageOut.setIntColor(x, y, rgbImagem.getR(),rgbImagem.getG(),rgbImagem.getB()); - } - } - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblC", "Cyan"); - attributesPanel.addHorizontalSlider("hsR", "hsR", -100, 100, 0, attributes); - attributesPanel.addLabel("lblR", "Red"); - attributesPanel.addTextField("txtR", "txtR",attributes); - - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblM", "Magenta"); - attributesPanel.addHorizontalSlider("hsG", "hsG", -100, 100, 0, attributes); - attributesPanel.addLabel("lblG", "Green"); - attributesPanel.addTextField("txtG", "txtG",attributes); - - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblY", "Yellow"); - attributesPanel.addHorizontalSlider("hsB", "hsB", -100, 100, 0, attributes); - attributesPanel.addLabel("lblB", "Blue"); - attributesPanel.addTextField("txtB", "txtB",attributes); - - attributesPanel.newComponentRow(); - - - JSlider sliderR = (JSlider)(attributesPanel.getComponent("hsR").getComponent()); - JSlider sliderG = (JSlider)(attributesPanel.getComponent("hsG").getComponent()); - JSlider sliderB = (JSlider)(attributesPanel.getComponent("hsB").getComponent()); - - JTextField txtR = (JTextField)(attributesPanel.getComponent("txtR").getComponent()); - JTextField txtG = (JTextField)(attributesPanel.getComponent("txtG").getComponent()); - JTextField txtB = (JTextField)(attributesPanel.getComponent("txtB").getComponent()); - - sliderR.addChangeListener(this); - sliderG.addChangeListener(this); - sliderB.addChangeListener(this); - txtR.addKeyListener(this); - txtG.addKeyListener(this); - txtB.addKeyListener(this); - } - return attributesPanel; - } - - //Manipula as alteraçőes da Horizontal Bar - //Handles the Horizontal Bar changes - public void stateChanged(ChangeEvent e) { - JSlider barra1 = (JSlider) (attributesPanel.getComponent("hsR").getComponent()); - JSlider barra2 = (JSlider) (attributesPanel.getComponent("hsG").getComponent()); - JSlider barra3 = (JSlider) (attributesPanel.getComponent("hsB").getComponent()); - JSlider barra = (JSlider) (e.getSource()); - JTextField lbl = null; - - if(e.getSource()==barra1){ - lbl = (JTextField)(attributesPanel.getComponent("txtR").getComponent()); - } - else{ - if(e.getSource()==barra2){ - lbl = (JTextField)(attributesPanel.getComponent("txtG").getComponent()); - } - else { - if(e.getSource()==barra3){ - } - lbl = (JTextField)(attributesPanel.getComponent("txtB").getComponent()); - } - } - lbl.setText(""+barra.getValue()); - } - - public void keyPressed(KeyEvent e) { - - } - - public void keyReleased(KeyEvent e) { - JTextField txtR = (JTextField) (attributesPanel.getComponent("txtR").getComponent()); - JTextField txtG = (JTextField) (attributesPanel.getComponent("txtG").getComponent()); - JTextField txtB = (JTextField) (attributesPanel.getComponent("txtB").getComponent()); - - JSlider barra1 = (JSlider) (attributesPanel.getComponent("hsR").getComponent()); - JSlider barra2 = (JSlider) (attributesPanel.getComponent("hsG").getComponent()); - JSlider barra3 = (JSlider) (attributesPanel.getComponent("hsB").getComponent()); - - try { - if(e.getSource()==txtR){ - barra1.setValue(Integer.parseInt(txtR.getText().toString())); - } - else{ - if(e.getSource()==txtG){ - barra2.setValue(Integer.parseInt(txtG.getText().toString())); - } - else - if(e.getSource()==txtB){ - barra3.setValue(Integer.parseInt(txtB.getText().toString())); - } - } - } catch (Exception exception) { - if(e.getSource()==txtR){ - barra1.setValue(0); - txtR.setText("0"); - } - else { - if(e.getSource()==txtG){ - barra2.setValue(0); - txtG.setText("0"); - } - else{ - if(e.getSource()==txtB){ - barra3.setValue(0); - txtB.setText("0"); - } - } - } - } - } - - public void keyTyped(KeyEvent e) { - - } - - private class RGB{ - private int r; - private int g; - private int b; - public RGB(){ - this.r=0; - this.g=0; - this.b=0; - } - public RGB(int r, int g, int b){ - this.r=r; - this.g=g; - this.b=b; - } - public int getR() { - return r; - } - public void setR(int r) { - this.r = truncate(r); - } - public int getG() { - return g; - } - public void setG(int g) { - this.g = truncate(g); - } - public int getB() { - return b; - } - public void setB(int b) { - this.b = truncate(b); - } - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/texture/tileTexture/TileTexture.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/texture/tileTexture/TileTexture.java deleted file mode 100644 index b62572c..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/texture/tileTexture/TileTexture.java +++ /dev/null @@ -1,115 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.texture.tileTexture; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.transform.flip.Flip; - -public class TileTexture extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private MarvinImagePlugin flip; - - public void load(){ - attributes = getAttributes(); - attributes.set("tile", -1); - attributes.set("lines", 2); - attributes.set("columns", 2); - - flip = new Flip(); - flip.load(); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblLines", "lines"); - attributesPanel.addTextField("txtLines", "lines", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblColumns", "columns"); - attributesPanel.addTextField("txtColumns", "columns", attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage imgIn, - MarvinImage imgOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) - { - int lines = (Integer)attributes.get("lines"); - int columns = (Integer)attributes.get("columns"); - MarvinImage tile = (MarvinImage)attributes.get("tile"); - int tileWidth = tile.getWidth(); - int tileHeight = tile.getHeight(); - - boolean[][] arrMask = mask.getMask(); - if(arrMask != null){ - MarvinImage.copyColorArray(imgIn, imgOut); - } - else{ - imgOut.resize(tile.getWidth()*columns, tile.getHeight()*lines); - } - - MarvinImage tileFlippedH = new MarvinImage(tileWidth, tileHeight); - MarvinImage tileFlippedV = new MarvinImage(tileWidth, tileHeight); - MarvinImage tileFlippedHV = new MarvinImage(tileWidth, tileHeight); - - flip.setAttribute("flip", "horizontal"); - flip.process(tile, tileFlippedH); - flip.process(tile, tileFlippedHV); - - flip.setAttribute("flip", "vertical"); - flip.process(tile, tileFlippedV); - flip.process(tileFlippedHV, tileFlippedHV); - - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.transform.flip; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Flip image horintally and vertically. - * @author Gabriel Ambrosio Archanjo - * @version 02/28/2008 - */ -public class Flip extends MarvinAbstractImagePlugin -{ - private final static String HORIZONTAL = "horizontal"; - private final static String VERTICAL = "vertical"; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - private boolean[][] arrMask; - - - public void load(){ - attributes = getAttributes(); - attributes.set("flip", "horizontal"); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("labelTipo", "Type:"); - attributesPanel.addComboBox("combpFlip", "flip", new Object[]{HORIZONTAL, VERTICAL}, attributes); - } - return attributesPanel; - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - String l_operation = (String)attributes.get("flip"); - arrMask = a_mask.getMask(); - - if(l_operation.equals(HORIZONTAL)){ - flipHorizontal(a_imageIn, a_imageOut); - } - else{ - flipVertical(a_imageIn, a_imageOut); - } - } - - private void flipHorizontal(MarvinImage a_imageIn, MarvinImage a_imageOut){ - int r,g,b; - for (int y = 0; y < a_imageIn.getHeight(); y++) { - for (int x = 0; x < (a_imageIn.getWidth()/2)+1; x++) { - if(arrMask != null && !arrMask[x][y]){ - continue; - } - //Get Y points and change the positions - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - a_imageOut.setIntColor(x,y, - a_imageIn.getAlphaComponent(x, y), - a_imageIn.getIntComponent0((a_imageIn.getWidth()-1)-x, y), - a_imageIn.getIntComponent1((a_imageIn.getWidth()-1)-x, y), - a_imageIn.getIntComponent2((a_imageIn.getWidth()-1)-x, y) - ); - - int nx = (a_imageIn.getWidth() - 1) - x; - a_imageOut.setIntColor(nx, y, a_imageIn.getAlphaComponent(nx, y), r, g, b); - } - } - } - - private void flipVertical(MarvinImage a_imageIn, MarvinImage a_imageOut){ - int r,g,b; - for (int x = 0; x < a_imageIn.getWidth(); x++) { - for (int y = 0; y < (a_imageIn.getHeight()/2)+1; y++) { - if(arrMask != null && arrMask[x][y]){ - continue; - } - - //Get X points and change the positions - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - a_imageOut.setIntColor(x,y, - a_imageIn.getAlphaComponent(x,y), - a_imageIn.getIntComponent0(x, (a_imageIn.getHeight()-1)-y), - a_imageIn.getIntComponent1(x, (a_imageIn.getHeight()-1)-y), - a_imageIn.getIntComponent2(x, (a_imageIn.getHeight()-1)-y) - ); - - int ny = (a_imageIn.getHeight() - 1) - y; - a_imageOut.setIntColor(x, ny, a_imageIn.getAlphaComponent(x,ny), r, g, b); - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/rotate/Rotate.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/rotate/Rotate.java deleted file mode 100644 index 0e366f0..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/rotate/Rotate.java +++ /dev/null @@ -1,225 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.transform.rotate; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Rotate the image by a user-defined angle. - * @author Barry McCullagh - * @version 02/04/2009 - */ -public class Rotate extends MarvinAbstractImagePlugin -{ - private final static String CLOCKWISE90 = "clockwise90"; - private final static String ACLOCKWISE90 = "anticlockwise90"; - private final static String OTHER = "Other"; - - private int MaximumRotationAngle = 89; - - private MarvinAttributesPanel attributesPanel; - private MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - attributes.set("rotate", "angle"); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("labelRotate", "Options:"); - attributesPanel.addComboBox("combpRotate", "rotate", new Object[]{CLOCKWISE90, ACLOCKWISE90, OTHER}, attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblRotateAngle", "Angle of Rotation"); - attributesPanel.addHorizontalSlider("sliderRotateAngle", "RotateAngle", -MaximumRotationAngle, MaximumRotationAngle, 0, attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } - - /** - * Initiate the rotate process and determine the angle of rotation - * @param MarvinImage - the image to be rotated - * @param boolean - to display a preview - */ - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //get the image dimensions - int l_aImageHeight = a_imageIn.getHeight(); - int l_aImageWidth = a_imageIn.getWidth(); - int l_rotateAngle; - double l_rotateAngleRadians = 0; - //a local copy of the image to enable the modification of a_image - //MarvinImage l_image = (MarvinImage)a_image.clone(); - - //for speed, check if the user wants a simple rotate by 90 degrees - String userOption = (String)attributes.get("rotate"); - attributes.set("rotateTextField", userOption); - if(userOption.intern() == CLOCKWISE90.intern()) - { - //this is an image transpose so swap the width and height - System.out.println("90clockwise"); - int l_newHeight = l_aImageWidth; - int l_newWidth = l_aImageHeight; - a_imageOut.setDimension(l_newWidth, l_newHeight); - for(int xx = 0; xx < l_aImageWidth; xx ++) - { - for(int yy =l_aImageHeight-1; yy >= 0; yy--) - { - a_imageOut.setIntColor(l_aImageHeight-1 - yy, xx, a_imageIn.getIntColor(xx, yy)); - } - } - } - else if(userOption.intern() == ACLOCKWISE90.intern()) - { - //this is an image transpose so swap the width and height - System.out.println("90clockwise"); - int l_newHeight = l_aImageWidth; - int l_newWidth = l_aImageHeight; - a_imageOut.setDimension(l_newWidth, l_newHeight); - for(int xx = l_aImageWidth-1; xx > 0; xx --) - { - for(int yy = 0; yy < l_aImageHeight; yy++) - { - a_imageOut.setIntColor(yy, l_aImageWidth -1 - xx, a_imageIn.getIntColor(xx, yy)); - } - } - } - else - { - l_rotateAngle = (Integer)attributes.get("RotateAngle"); - - l_rotateAngleRadians = Math.toRadians(l_rotateAngle); - rotateImage(a_imageIn, a_imageOut, l_rotateAngleRadians); - - } - } - - /** - * Use the information from the original image to interpolate and fill in - * gaps in the rotated image - * @param MarvinImage a_image - the image to be modified - * @param MarvinImage a_originalImage - the image to be used as the source of the interpolation - * @param double a_rotateAngle - the angle of rotation - */ - private void interpolateImage(MarvinImage a_image, MarvinImage a_originalImage, int[][][] a_LookUpArray, double a_rotateAngle, int a_initialisationValue) - { - //get image dimensions - int l_rotatedImageWidth = a_image.getWidth(); - int l_rotatedImageHeight = a_image.getHeight(); - - for(int xx = 1; xx < l_rotatedImageWidth-1; xx++) - { - for(int yy = 1; yy < l_rotatedImageHeight-1; yy++) - { - //if the pixel value has NOT been assigned, in future change this to check for null - if(a_LookUpArray[xx][yy][0] == a_initialisationValue) - { - int l_leftValue = a_LookUpArray[xx-1][yy][2]; - int l_rightValue = a_LookUpArray[xx-1][yy][2]; - int l_difference = l_rightValue - l_leftValue; - a_image.setIntColor(xx, yy, l_leftValue + (l_difference+2)); - } - } - } - } - - /** - * Create a LookUpArray to see if pixels have been assigned a value - * @param a_LookUpArray - the values to be filled in - * @param dimensions - the size of the array - * @param a_InitialisationValue - what value to assign. - */ - public void initialiseLookUpArray(int[][][] a_LookUpArray, int[] dimensions, int a_InitialisationValue) - { - for(int xx = 0; xx < dimensions[0]; xx++) - { - for(int yy = 0; yy < dimensions[1]; yy++) - { - a_LookUpArray[xx][yy][0] = a_InitialisationValue; - a_LookUpArray[xx][yy][1] = 0; - a_LookUpArray[xx][yy][2] = 0; - } - } - } - - /** - * Rotate an image by a specified angle. - * @param a_image - the image to be rotated - * @param a_rotateAngle - the angle (in Radians) to rotate - */ - private void rotateImage(MarvinImage a_imageIn, MarvinImage a_imageOut, double a_rotateAngleRads) - { - //Get the image dimensions - int l_aimageHeight = a_imageIn.getHeight(); - int l_aimageWidth = a_imageIn.getWidth(); - - //Calculate the size of the rotated image - double l_absRotateAngle = Math.abs(a_rotateAngleRads); - int l_newHeight = (int)(Math.ceil(l_aimageWidth * Math.sin(l_absRotateAngle) + Math.ceil(l_aimageHeight * Math.cos(l_absRotateAngle)))); - int l_newWidth = (int)(Math.ceil(l_aimageHeight * Math.sin(l_absRotateAngle) + Math.ceil(l_aimageWidth * Math.cos(l_absRotateAngle)))); - - //The look up array used to interpolate later. - //Each location in the array will contain - // the x and y coordinates of the original pixel, and its RGB value - int[][][] l_LookUpArray = new int [l_newWidth][l_newHeight][3]; - int l_initialisationValue = 654321; - int[] l_dimensions = {l_newWidth, l_newHeight, 3}; - initialiseLookUpArray(l_LookUpArray, l_dimensions, l_initialisationValue); - - //Create a local copy of the image - //MarvinImage l_image = (MarvinImage)a_image.clone(); - //erase the contents of a_image so it can be filled with new data and resize it - - a_imageOut.setDimension(Math.abs(l_newWidth), Math.abs(l_newHeight)); - - //Calculate the new coordinate for each pixel and fill in the lookuparray - for(int xx = 0; xx < l_aimageWidth-0; xx++) - { - for(int yy = 0; yy < l_aimageHeight-0; yy++) - { - int l_newXCoordinate = (int)( (Math.cos(a_rotateAngleRads)* (xx - (l_aimageWidth/2))) - ((Math.sin(a_rotateAngleRads) * (yy - (l_aimageHeight/2)))) + (l_newWidth/2)); - int l_newYCoordinate = (int)( (Math.sin(a_rotateAngleRads)* (xx - (l_aimageWidth/2))) + ((Math.cos(a_rotateAngleRads) * (yy - (l_aimageHeight/2)))) + (l_newHeight/2)); - try - { - a_imageOut.setIntColor(l_newXCoordinate, l_newYCoordinate, a_imageIn.getIntColor(xx, yy)); - l_LookUpArray[l_newXCoordinate][l_newYCoordinate][0] = xx; - l_LookUpArray[l_newXCoordinate][l_newYCoordinate][1] = yy; - l_LookUpArray[l_newXCoordinate][l_newYCoordinate][2] = a_imageIn.getIntColor(xx, yy); - } - catch(Exception e) - { - System.out.println(l_newXCoordinate + " " + l_newYCoordinate); - } - } - } - // fill in the holes due to float/integer conversion. - interpolateImage(a_imageOut, a_imageIn, l_LookUpArray, a_rotateAngleRads, l_initialisationValue); - } - -} - diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/scale/Scale.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/scale/Scale.java deleted file mode 100644 index cfed205..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/scale/Scale.java +++ /dev/null @@ -1,88 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.transform.scale; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - -/** - * Simple and fast scale based on nearest neighbors - * @author Gabriel Ambrósio Archanjo - */ -public class Scale extends MarvinAbstractImagePlugin{ - - private MarvinAttributesPanel attributesPanel; - private int width; - private int height; - private int newWidth; - private int newHeight; - - - private MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - newWidth = 0; - newHeight = 0; - attributes.set("newWidth", newWidth); - attributes.set("newHeight", newHeight); - } - - public MarvinAttributesPanel getAttributesPanel(){ - - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("lblWidth", "Width:"); - attributesPanel.addTextField("txtWidth", "newWidth", attributes); - attributesPanel.newComponentRow(); - attributesPanel.addLabel("lblHeight", "Height:"); - attributesPanel.addTextField("txtHeight", "newHeight", attributes); - } - return attributesPanel; - - } - - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean previewMode - ){ - - if(!previewMode){ - width = a_imageIn.getWidth(); - height = a_imageIn.getHeight(); - newWidth = (Integer)attributes.get("newWidth"); - newHeight = (Integer)attributes.get("newHeight"); - - if(a_imageOut.getWidth() != newWidth || a_imageOut.getHeight() != newHeight){ - a_imageOut.setDimension(newWidth, newHeight); - } - - int x_ratio = (int)((width<<16)/newWidth) ; - int y_ratio = (int)((height<<16)/newHeight) ; - int x2, y2 ; - for (int i=0;i>16) ; - y2 = ((i*y_ratio)>>16) ; - a_imageOut.setIntColor(j,i, a_imageIn.getAlphaComponent(x2,y2), a_imageIn.getIntColor(x2,y2)); - } - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/skew/Skew.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/skew/Skew.java deleted file mode 100644 index 5399fea..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/skew/Skew.java +++ /dev/null @@ -1,220 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.image.transform.skew; - -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinFilterWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.util.MarvinAttributes; - - -/** - * Perform a vertical OR horizontal skew of an image. - * @author Barry McCullagh - * @version 01/30/2009 - */ -public class Skew extends MarvinAbstractImagePlugin -{ - private final static String HORIZONTAL = "Horizontal"; - private final static String VERTICAL = "Vertical"; - private int SELECTEDANGLE = 0; - - private MarvinAttributesPanel attributesPanel; - MarvinAttributes attributes; - - public void load(){ - attributes = getAttributes(); - attributes.set("skew", "horizontal"); - attributes.set("selected", String.valueOf(SELECTEDANGLE)); - } - - public MarvinAttributesPanel getAttributesPanel(){ - if(attributesPanel == null){ - attributesPanel = new MarvinAttributesPanel(); - attributesPanel.addLabel("labelSkew", "Skew:"); - attributesPanel.addComboBox("combpSkew", "skew", new Object[]{HORIZONTAL, VERTICAL}, attributes); - attributesPanel.newComponentRow(); - - attributesPanel.addLabel("lblSkewAngle", "SkewAngle"); - attributesPanel.addHorizontalSlider("sliderSkewAngle", "SkewAngle", -89, 89, 0, attributes); - attributesPanel.newComponentRow(); - } - return attributesPanel; - } - - /** - * Handles the 'Process' button being pressed. - * Determines the angle to skew and if the user wants - * a horizontal or vertical skew. - * - * @param MarvinImage - the image to be skewed - * @param boolean - if a preview is being performed - * @return - void - */ - public void process - ( - MarvinImage a_imageIn, - MarvinImage a_imageOut, - MarvinAttributes a_attributesOut, - MarvinImageMask a_mask, - boolean a_previewMode - ) - { - //find the desired direction - String l_operation = (String)attributes.get("skew"); - //find the desired angle and convert from degrees to rads - int s_angle = (Integer)attributes.get("SkewAngle"); - double s_angle_rad = (double)(Math.toRadians(s_angle)); - - if(l_operation.equals(HORIZONTAL)) - { - skewHorizontal(a_imageIn, a_imageOut, s_angle_rad); - } - else - { - skewVertical(a_imageIn, a_imageOut, s_angle_rad); - } - - } - /** - * Perform a horizontal skew of the input image (a_image). The maximum skew in each direction is 89 degrees. - * - * @param a_image The input image to be skewed. - * @param skew_angle_rad The amount of skew to be performed. - * @return void - * @see MarvinImage - */ - private void skewHorizontal(MarvinImage a_imageIn, MarvinImage a_imageOut, double a_skewAngleRad) - { - - int r,g,b; - //get image dimensions - int l_aHeight = a_imageIn.getHeight(); - int l_aWidth = a_imageIn.getWidth(); - //a local copy of the image, used to store a copy of the original image. - //MarvinImage l_image = (MarvinImage)a_image.clone(); - - //Calculate the width of the new image. - //l_extraWidth is not made absolute as it tells us if the skew is to be performed - //to the left or right. - int l_extraWidth = (int)(Math.ceil(l_aHeight * Math.tan(a_skewAngleRad))); - int l_newWidth = l_aWidth + Math.abs(l_extraWidth); - - //The modifications must be performed on a_image so erase the contents - //of a_image so the skewed image can be put there. - for(int xx = 0; xx < l_aWidth; xx++) - { - for(int yy = 0; yy < l_aHeight; yy++) - { - a_imageOut.setIntColor(xx, yy, a_imageIn.getAlphaComponent(xx,yy), 000000); - - } - - } - a_imageOut.resize(l_newWidth, l_aHeight); - - //The top of the image is being moved to the right. - //The amount each row moves depends on its height, calculated as l_newXcoordinate. - if(l_extraWidth > 0) - { - for (int x = 0; x < l_aWidth; x++) { - for (int y = 0; y < l_aHeight; y++){ - int l_newXcoordinate = x + (int)(Math.abs((y - l_aHeight) * Math.tan(a_skewAngleRad))); - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - a_imageOut.setIntColor(l_newXcoordinate, y, a_imageIn.getAlphaComponent(l_newXcoordinate, y), r, g, b); - } - } - } - //The top of the image is being moved to the left. - //The amount each row moves depends on its height, calculated as l_newXcoordinate - else - { - for (int x = 0; x < l_aWidth; x++) { - for (int y = l_aHeight-1; y >= 0; y--){ - int new_xcoordinate = x + (int)(Math.abs((y) * Math.tan(a_skewAngleRad))); - - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - a_imageOut.setIntColor(new_xcoordinate, y, a_imageIn.getAlphaComponent(new_xcoordinate, y), r, g, b); - } - } - } - } - - /** - * Perform a vertical skew of the input image - * @param MarvinImage a_image - * @param double skew_angle_rad - * @return void - * @see MarvinImage - */ - private void skewVertical(MarvinImage a_imageIn, MarvinImage a_imageOut, double a_skewAngleRad) - { - //The modifications must be applied to the image passed to the function (a_image). - //Make a local copy of the image to store the data and modify the passed image. - - //MarvinImage l_image = (MarvinImage)(a_image.clone()); - int r, g, b; - int l_newYcoordinate; - //Get the image dimensions - int l_aWidth = a_imageIn.getWidth(); - int l_aHeight = a_imageIn.getHeight(); - - //Calculate the dimensions of the modified image then resize a_image so that - //can store the skewed image. The contents are also empties. - int l_extraHeight = (int)Math.ceil(l_aWidth * Math.tan(a_skewAngleRad)); - int l_newHeight = l_aHeight + Math.abs(l_extraHeight); - for(int xx = 0; xx < l_aWidth; xx++) - { - for(int yy = 0; yy < l_aHeight; yy++) - { - a_imageOut.setIntColor(xx, yy, a_imageIn.getAlphaComponent(xx, yy), 000000); - } - } - a_imageOut.resize(l_aWidth, l_newHeight); - - - //Calculate the new coordinate of each pixel. If the image is being skewed - //up or down (relative to the left hand column of pixels) a different calculation - //must be performed - for (int x = 0; x < l_aWidth; x++) { - for (int y = 0; y < l_aHeight; y++){ - - //for a skew 'down' - if (l_extraHeight > 0) - { - l_newYcoordinate = y + (int)((x) * Math.tan(a_skewAngleRad)); - } - //for a skew 'up' - else - { - l_newYcoordinate = (l_newHeight) -(l_aHeight) + y - (int)Math.abs(((x) * Math.tan(a_skewAngleRad))); - } - - r = a_imageIn.getIntComponent0(x, y); - g = a_imageIn.getIntComponent1(x, y); - b = a_imageIn.getIntComponent2(x, y); - - a_imageOut.setIntColor(x, l_newYcoordinate, a_imageIn.getAlphaComponent(x, l_newYcoordinate), r, g, b); - } - } - - - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/watershed/Watershed.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/watershed/Watershed.java deleted file mode 100644 index 648ac56..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/image/transform/watershed/Watershed.java +++ /dev/null @@ -1,339 +0,0 @@ -package org.marvinproject.image.transform.watershed; - -/** -Marvin Project <2007-2016> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -//package org.marvinproject.image.corner.WaterShed; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import marvin.gui.MarvinAttributesPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinAbstractImagePlugin; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.color.grayScale.GrayScale; - -/** - * - * @author Martin Mihalyi - */ -public class Watershed extends MarvinAbstractImagePlugin { - - private MarvinImagePlugin gray; - private List> HeightMap; - private WatershedPixel[][] Image; - private int width, height; - private List query; - private WatershedPixel dummyPixel; - - @Override - public void load() { - gray = new GrayScale(); - gray.load(); - - - HeightMap = new ArrayList>(256); - //initialize HeightMap - for(int i = 0; i<256; i++) - { - HeightMap.add(new ArrayList()); - } - - query = new LinkedList(); - - dummyPixel = new WatershedPixel(0,0); - } - - @Override - public MarvinAttributesPanel getAttributesPanel() { - return null; - } - - @Override - public void process - ( - MarvinImage imageIn, - MarvinImage imageOut, - MarvinAttributes attrOut, - MarvinImageMask mask, - boolean previewMode - ) { - //pixel's lowest distance to the watershed pixel - int CurrentDistance; - int CurrentLabel = 0; - //convert to grayscale - MarvinImage tempImage = new MarvinImage(imageIn.getWidth(), imageIn.getHeight()); - gray.process(imageIn, tempImage); - - //temporary variables for faster processing - width = tempImage.getWidth(); - height = tempImage.getHeight(); - - //initailize image to easier access the pixels - Image = new WatershedPixel[width][height]; - - //array for labeled pixels - int[][] labels = new int[width][height]; - - //1. step build up the HeightMap - //ordering the pixels by values (LookUpTable) - //in every line - for (int i = 0; i < width; i += 1) - { - //in every row - for (int j = 0; j < height; j += 1) - { - //create new watershed pixel - WatershedPixel pixel = new WatershedPixel(i, j); - - //add the reference to the image array to the easiest access in case of neighbours search - Image[i][j] = pixel; - - //add it to the heightMap - HeightMap.get(tempImage.getIntComponent0(i, j)).add(pixel); - } - - } - - //2. step processing the heightmap and puting pixels in a query - //processing the pixels by the height - for (int h = 0; h < HeightMap.size(); h++) - { - //iterating through the pixels in the given h height - for(WatershedPixel wpixel : HeightMap.get(h)) - { - //set label MASK to pixel - wpixel.setLabel(-2); - - //get all neighbour of the given pixel - List neighbourPixels = Neighbours(wpixel); - - //iterating through the neighbour pixels searching for already labeled pixels - for(WatershedPixel neighbourPixel : neighbourPixels) - { - //check if neighbourpixel is allready labelled - if(neighbourPixel.getLabel() >= 0) - { - //at least one neighbouring pixel is watershed pixel, so the distance cannot be more than 1 - wpixel.setDistance(1); - - //add to query - query.add(wpixel); - - //labeled pixel found, more iteration is not needed - break; - } - - } - } - - //add dummyPixel to query - query.add(dummyPixel); - //increase current distance - CurrentDistance = 1; - - //process the remainging element in the query if the query is not empty - while(!query.isEmpty()) - { - //get the first element of query - WatershedPixel nextProccessPixel = query.remove(0); - - if(query.isEmpty()) - { - break; - } - //check if all pixel with the same distance to the watershed pixel has been processed - else if(nextProccessPixel.equals(dummyPixel)) - { - //increase current distance - CurrentDistance++; - - //put dummyPixel back to query - query.add(dummyPixel); - - //get the next pixel - nextProccessPixel = query.remove(0); - } - - //get all neighbour of the given pixel - List neighbourPixels = Neighbours(nextProccessPixel); - - //iterating through the neighbour pixels searching for already labeled pixels - for(WatershedPixel neighbourPixel : neighbourPixels) - { - //check if the neighbour pixel is: - // - closer to a watershed pixer than the current distance AND - //- neighbour pixel is allready labelled - if((neighbourPixel.getDistance() <= CurrentDistance) && (neighbourPixel.getLabel() >= 0) ) - { - if(neighbourPixel.getLabel() > 0) - { - if(nextProccessPixel.getLabel() == -2) - { - - nextProccessPixel.setLabel(neighbourPixel.getLabel()); - } - else if(nextProccessPixel.getLabel() != neighbourPixel.getLabel()) - { - nextProccessPixel.setLabel(0); - } - } // end if lab>0 - else if(nextProccessPixel.getLabel() == -2) - { - nextProccessPixel.setLabel(0); - } - - } - //the neighbour pixel has the same height as the currenct pixel (plain) - else if((neighbourPixel.getDistance() == 0) && (neighbourPixel.getLabel() == -2)) - { - neighbourPixel.setDistance(CurrentDistance + 1); - //add to query - query.add(neighbourPixel); - } - - } - - } - - - //detect the unprocessed pixels at the given height - for(WatershedPixel wpixel : HeightMap.get(h)) - { - //set the distance back to inital value - wpixel.setDistance(0); - - if(wpixel.getLabel() == -2) - { - CurrentLabel++; - wpixel.setLabel(CurrentLabel); - query.add(wpixel); - - //process the remainging element in the query if the query is not empty - while(!query.isEmpty()) - { - //get the next element of query - WatershedPixel nextPixel = query.remove(0); - - //get all neighbour of the given pixel - List neighbourPixels = Neighbours(nextPixel); - - //iterating through the neighbour pixels searching for MASK(-2) labelled pixels - for(WatershedPixel neighbourPixel : neighbourPixels) - { - if(neighbourPixel.getLabel() == -2) - { - neighbourPixel.setLabel(CurrentLabel); - query.add(neighbourPixel); - } - } - } - } - } - } - //3. step create an array to display the generated labels - for(int i = 0; i < width; i++) - { - for(int j = 0; j < height; j++) - { - //copy to the output array - labels[i][j] = Image[i][j].getLabel(); - } - - } - - if(attrOut != null){ - //return the pixel labels - attrOut.set("imageLabels", labels); - } - - } - - private List Neighbours(WatershedPixel p) - { - //get the position of pixels - int x = p.getX(); - int y = p.getY(); - - //temp array for the neighbours - List NPixels = new ArrayList(4); - - //add every vertical/horrizontal neighbours - if(x > 0) - NPixels.add(Image[x-1][y]); - if(x < width-1) - NPixels.add(Image[x+1][y]); - if (y > 0) - NPixels.add(Image[x][y-1]); - if(y < height -1) - NPixels.add(Image[x][y+1]); - - return NPixels; - } -} - -//class for the watershed pixels -class WatershedPixel -{ - //position of the pixel in the image - private int x, y; - - //indicating the status of the pixel - private int label; - - //distance from the minimum - private int distance; - - - //getter for x position - public int getX() { - return x; - } - - //getter for y position - public int getY() { - return y; - } - - //getter/setter of label - public int getLabel() { - return label; - } - - public void setLabel(int label) { - this.label = label; - } - - //getter/setter of distance - public int getDistance() { - return distance; - } - - public void setDistance(int distance) { - this.distance = distance; - } - - //contructor - public WatershedPixel(int x, int y) - { - //set the position of pixel - this.x = x; - this.y = y; - - //set to INIT value - this.setLabel(-1); - } -} diff --git a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/ml/kmeans/Kmeans.java b/marvinproject/dev/MarvinPlugins/src/org/marvinproject/ml/kmeans/Kmeans.java deleted file mode 100644 index fcf06bd..0000000 --- a/marvinproject/dev/MarvinPlugins/src/org/marvinproject/ml/kmeans/Kmeans.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.marvinproject.ml.kmeans; - -import java.util.ArrayList; -import java.util.List; - -import marvin.plugin.MarvinAbstractAlgorithmPlugin; -import marvin.util.MarvinAttributes; - -public class Kmeans extends MarvinAbstractAlgorithmPlugin{ - - @Override - public void load() { - // Parameters with default values - setAttribute("data", new ArrayList()); - setAttribute("k", 1); - setAttribute("convergenceMargin", 0.0001); - setAttribute("iterations", 10000); - } - - @Override - public void process(MarvinAttributes out) { - List data = (ArrayList)getAttribute("data"); - int k = (Integer)getAttribute("k"); - double convergenceMargin = (Double)getAttribute("convergenceMargin"); - int iterations = (Integer)getAttribute("iterations"); - - double[][] clusters = cluster(data, k, convergenceMargin, iterations); - out.set("clusters", clusters); - } - - private double[][] cluster(List data, int k, double convergenceMargin, int iterations){ - double prototypes[][] = new double[k][data.get(0).length]; - double centers[][] = new double[k][data.get(0).length]; - prototypes = gaussianDistributionMarsaglia(distributionMean(data), 0.1, k, data.get(0).length); - - int id; - int dataByPrototype[] = new int[k]; - - for(int c=0; c<100; c++){ - centers = new double[k][data.get(0).length]; - dataByPrototype = new int[k]; - - // For each sample - for(int i=0; i convergenceMargin){ - prototypes[i][j] += step; - }else{ - convergedDimension++; - } - } - if(convergedDimension == prototypes[0].length){ - convergedPrototypes++; - } - } - } - if(convergedPrototypes == k){ - break; - } - } - meanDensity(data, prototypes); - return prototypes; - } - - public static int getNearestPrototype(double[] data, double[][] prototypes){ - double minDist=-1; - double tempDist; - int nearestId=0; - - minDist = euclidianDistance(data, prototypes[0]); - - for(int i=1; i data){ - double[] mean = new double[data.get(0).length]; - int size = data.size(); - for(int i=0; i data, double[][] prototypess){ - double res=0; - double tempDist; - double minDist; - - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package org.marvinproject.tool.pen; - -import javax.swing.ImageIcon; -import javax.swing.JPanel; - -import marvin.plugin.MarvinAbstractToolPlugin; - -/* -public class Pen extends MarvinAbstractPluginTool{ - - public ImageIcon getIcon(){ - ImageIcon l_icon = new ImageIcon(); - return l_icon; - } - - public JPanel getSettingsPanel(){ - return null; - } -} -*/ \ No newline at end of file diff --git a/marvinproject/dev/MarvinPlugins/src/pluginTester/Benchmark.java b/marvinproject/dev/MarvinPlugins/src/pluginTester/Benchmark.java deleted file mode 100644 index b0bd542..0000000 --- a/marvinproject/dev/MarvinPlugins/src/pluginTester/Benchmark.java +++ /dev/null @@ -1,132 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package pluginTester; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.swing.JFrame; -import javax.swing.JTextArea; - -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinImagePlugin; -import marvin.plugin.MarvinPlugin; - -import org.marvinproject.image.artistic.mosaic.Mosaic; -import org.marvinproject.image.artistic.television.Television; -import org.marvinproject.image.blur.gaussianBlur.GaussianBlur; -import org.marvinproject.image.blur.pixelize.Pixelize; -import org.marvinproject.image.color.brightnessAndContrast.BrightnessAndContrast; -import org.marvinproject.image.color.grayScale.GrayScale; -import org.marvinproject.image.color.invert.Invert; -import org.marvinproject.image.color.sepia.Sepia; -import org.marvinproject.image.color.thresholding.Thresholding; -import org.marvinproject.image.edge.edgeDetector.EdgeDetector; -import org.marvinproject.image.halftone.circles.Circles; -import org.marvinproject.image.halftone.dithering.Dithering; -import org.marvinproject.image.halftone.errorDiffusion.ErrorDiffusion; -import org.marvinproject.image.halftone.rylanders.Rylanders; -import org.marvinproject.image.statistical.maximum.Maximum; -import org.marvinproject.image.statistical.median.Median; -import org.marvinproject.image.statistical.minimum.Minimum; -import org.marvinproject.image.statistical.mode.Mode; - -public class Benchmark { - - private final static int NUM_EXECUTIONS = 5; - - List plugins; - - public Benchmark(){ - loadPlugins(); - } - - private void loadPlugins(){ - plugins = new ArrayList(); - - plugins.add(new Mosaic()); - plugins.add(new Television()); - plugins.add(new Mosaic()); - plugins.add(new GaussianBlur()); - plugins.add(new Pixelize()); - plugins.add(new BrightnessAndContrast()); - plugins.add(new GrayScale()); - plugins.add(new Invert()); - plugins.add(new Sepia()); - plugins.add(new Thresholding()); - plugins.add(new EdgeDetector()); - plugins.add(new Circles()); - plugins.add(new Dithering()); - plugins.add(new ErrorDiffusion()); - plugins.add(new Rylanders()); - //plugins.add(new HarrisPlessey()); - plugins.add(new Maximum()); - plugins.add(new Median()); - plugins.add(new Minimum()); - plugins.add(new Mode()); - } - - public void process(MarvinImage image){ - JFrame result = new JFrame("BenchMark"); - JTextArea text = new JTextArea(); - result.add(text); - - MarvinImagePlugin tempPlugin; - MarvinImage imageOut; - long time, totalTime; - - - text.append(""+new Date(System.currentTimeMillis()).toString()); - text.append("\nimage width:"+image.getWidth()); - text.append("\nimage height:"+image.getHeight()); - text.append("\nNUM_EXECUTIONS:"+NUM_EXECUTIONS); - text.append("\n\n"); - - long timeByPlugin[][] = new long[plugins.size()][]; - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package pluginTester; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.HashMap; - -import javax.swing.JButton; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; - -import marvin.color.MarvinColorModelConverter; -import marvin.gui.MarvinFilterWindow; -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.plugin.MarvinPlugin; - -import org.marvinproject.image.edge.prewitt.Prewitt; - -/** - * Test plug-ins and generate .jar files - * @author Gabriel Ambrosio Archanjo - */ -public class PluginTester extends JFrame{ - - // Definitions - private final static String PACKAGE_NET_FOLDER = "./bin/org/"; - private final static String INITIAL_IMAGE = "./res/senna.jpg"; - - // Attributes - private JButton buttonReset, - buttonConvertToBinary, - buttonSaveImage, - buttonLoadPlugin, - buttonGenerateJarFiles, - buttonBenchmark; - - private MarvinImage originalImage, - newImage; - - private MarvinImagePanel imagePanel; - - private Benchmark benchmark; - - /* - * @Load plug-in to test - */ - private void loadPlugin(){ - HashMap test = new HashMap(); - test.put("key", null); - - - - MarvinImagePlugin l_plugin = new Prewitt(); - - //MarvinImagePlugin l_plugin = new Crop(); - l_plugin.load(); - - -// boolean matrix[][] = new boolean[][]{ {false,true,false}, -// {true,true,true}, -// {false,true,false}}; -// - boolean matrix[][] = new boolean[][]{ {true,true,true,true,true}, - {true,true,true,true,true}, - {true,true,true,true,true}, - {true,true,true,true,true}, - {true,true,true,true,true} - }; - - - - -// boolean matrix[][] = new boolean[][]{ {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// {true,true,true,true,true,true,true,true,true,true}, -// -// }; - - - l_plugin.setAttribute("matrix", matrix); - //l_plugin.setAttribute("neighborhood", 5); - //l_plugin.setAttribute("range", 15); - - - //l_plugin.setAttribute("color", new Color(51, 102, 153).getRGB()); - - - l_plugin.setImagePanel(imagePanel); - MarvinImage i=null; - try{ - //i = MarvinImageIO.loadImage("./res/tile_04.jpg"); - } - catch(Exception e){ - e.printStackTrace(); - } - - l_plugin.setAttribute("tile", i); - - System.out.println("continue running"); - - //l_plugin.show(); - - MarvinFilterWindow filterWindow = new MarvinFilterWindow - ( - "Plugin", 400, 330, l_plugin.getImagePanel(), l_plugin - ); - - filterWindow.setVisible(true); - - //l_plugin.process(originalImage, originalImage, null, MarvinImageMask.NULL_MASK, false); - //imagePanel.update(); - - - /* - l_plugin.load(); - l_plugin.show(); - */ - } - - public PluginTester(){ - super("Plug-in Tester"); - - // GUI - ButtonHandler l_buttonHandler = new ButtonHandler(); - buttonLoadPlugin = new JButton("Load Plugin"); - buttonSaveImage = new JButton("Save Image"); - buttonReset = new JButton("Reset"); - buttonConvertToBinary = new JButton("To Binary"); - buttonGenerateJarFiles = new JButton("Generate Jar Files"); - buttonBenchmark = new JButton("Benchmark"); - - buttonLoadPlugin.addActionListener(l_buttonHandler); - buttonSaveImage.addActionListener(l_buttonHandler); - buttonReset.addActionListener(l_buttonHandler); - buttonConvertToBinary.addActionListener(l_buttonHandler); - buttonGenerateJarFiles.addActionListener(l_buttonHandler); - buttonBenchmark.addActionListener(l_buttonHandler); - - imagePanel = new MarvinImagePanel(); - JScrollPane scrollPane = new JScrollPane(imagePanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); - - - JPanel panelBottom = new JPanel(); - panelBottom.add(buttonLoadPlugin); - panelBottom.add(buttonSaveImage); - panelBottom.add(buttonReset); - panelBottom.add(buttonConvertToBinary); - panelBottom.add(buttonGenerateJarFiles); - panelBottom.add(buttonBenchmark); - - // Container - Container l_con = getContentPane(); - l_con.setLayout(new BorderLayout()); - - l_con.add(scrollPane, BorderLayout.CENTER); - l_con.add(panelBottom, BorderLayout.SOUTH); - - - // Load image - originalImage = MarvinImageIO.loadImage(INITIAL_IMAGE); - -// originalImage = new MarvinImage(500, 500, MarvinImage.COLOR_MODEL_RGB); -// originalImage.fillRect(0, 0, 500, 500, Color.white); -// originalImage.fillRect(100, 100, 300, 300, Color.red); -// originalImage.update(); - - //originalImage = new MarvinImage(50,50); - newImage = originalImage.clone(); - imagePanel.setImage(newImage); - - - - - - // Benchmark - benchmark = new Benchmark(); - - int width; - if(originalImage.getWidth() < 460){ - width = 460; - } - else{ - width = originalImage.getWidth(); - } - setSize(700,500+70); - - setVisible(true); - } - - public void generateJarFiles(File a_directory){ - String l_directoryName; - File[] l_arrFiles; - String l_path; - - if (a_directory.exists() && !a_directory.getName().equals(".svn")){ - l_arrFiles = a_directory.listFiles(); - - if (l_arrFiles.length>0){ - for (File l_file : l_arrFiles) { - if (l_file.isDirectory()){ - l_directoryName = l_file.getName(); - l_directoryName = l_directoryName.substring(0, 1).toUpperCase() + l_directoryName.substring(1).toLowerCase(); - - generateJarFiles(l_file); - } - else{ - if(isMarvinPlugin(l_file)){ - try{ - l_path = l_file.getParent(); - l_path = l_path.replace("/bin", ""); - l_path = l_path.replace("\\bin", ""); - - Runtime.getRuntime().exec - ( - "jar -cvf ../jar/"+getCanonicalName(l_file)+".jar"+" "+l_path, - null, - new File("./bin") - ); - } - catch(Exception e){ - e.printStackTrace(); - } - } - } - } - } - } - } - - /** - * Check if the specified file is a class that implements MarvinPlugin interface - * @param a_file supposed MarvinPlugin file - * @return true if the file is associated to a MarvinPlugin class - */ - private boolean isMarvinPlugin(File a_file){ - Class l_class=null; - String l_classPath; - l_classPath = a_file.getPath(); - l_classPath = l_classPath.substring(l_classPath.indexOf("bin")+4); - l_classPath = l_classPath.replace("/", "."); - l_classPath = l_classPath.replace("\\", "."); - l_classPath = l_classPath.replace(".class", ""); - - // Check if the class file implements MarvinPlugin - try{ - l_class = Class.forName(l_classPath); - } - catch(ClassNotFoundException e){ - e.printStackTrace(); - } - - if(MarvinPlugin.class.isAssignableFrom(l_class)){ - return true; - } - else{ - return false; - } - } - - private String getCanonicalName(File a_marvinPlugin){ - String l_canonicalName = a_marvinPlugin.getParent(); - l_canonicalName = l_canonicalName.substring(l_canonicalName.indexOf("bin")+4); - l_canonicalName = l_canonicalName.replace("/", "."); - l_canonicalName = l_canonicalName.replace("\\", "."); - return l_canonicalName; - } - - private void saveImage(){ - int result; - String path=null; - - JFileChooser chooser = new JFileChooser(); - chooser.setDialogType(JFileChooser.SAVE_DIALOG); - result = chooser.showSaveDialog(this); - - if(result == JFileChooser.CANCEL_OPTION){ - return; - } - - try{ - path = chooser.getSelectedFile().getCanonicalPath(); - newImage.update(); - MarvinImageIO.saveImage(imagePanel.getImage(), path); - } - catch(Exception e){ - e.printStackTrace(); - } - } - - - public static void main(String[] args) { - PluginTester pt = new PluginTester(); - pt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent e){ - if(e.getSource() == buttonReset){ - newImage = originalImage.clone(); - imagePanel.setImage(newImage); - } - else if(e.getSource() == buttonConvertToBinary){ - newImage = MarvinColorModelConverter.rgbToBinary(newImage, 200); - newImage.update(); - imagePanel.setImage(newImage); - } - else if(e.getSource() == buttonSaveImage){ - saveImage(); - } - else if(e.getSource() == buttonLoadPlugin){ - loadPlugin(); - } - else if(e.getSource() == buttonGenerateJarFiles){ - generateJarFiles(new File(PACKAGE_NET_FOLDER)); - } - else if(e.getSource() == buttonBenchmark){ - benchmark.process(originalImage); - } - } - } -} diff --git a/marvinproject/dev/MarvinSamples/.classpath b/marvinproject/dev/MarvinSamples/.classpath deleted file mode 100644 index fcc0775..0000000 --- a/marvinproject/dev/MarvinSamples/.classpath +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/marvinproject/dev/MarvinSamples/.gitignore b/marvinproject/dev/MarvinSamples/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/marvinproject/dev/MarvinSamples/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/marvinproject/dev/MarvinSamples/.project b/marvinproject/dev/MarvinSamples/.project deleted file mode 100644 index 60ba89c..0000000 --- a/marvinproject/dev/MarvinSamples/.project +++ /dev/null @@ -1,31 +0,0 @@ - - - MarvinSamples - - - MarvinFramework - MarvinPlugins - - - - org.eclipse.jdt.core.javabuilder - - - - - net.sourceforge.metrics.builder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature - - diff --git a/marvinproject/dev/MarvinSamples/.settings/org.eclipse.jdt.core.prefs b/marvinproject/dev/MarvinSamples/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 6249222..0000000 --- a/marvinproject/dev/MarvinSamples/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/marvinproject/dev/MarvinSamples/marvin/framework/lib/junit-4.7.jar b/marvinproject/dev/MarvinSamples/marvin/framework/lib/junit-4.7.jar deleted file mode 100644 index 700ad69..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/framework/lib/junit-4.7.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/framework/marvin_1.4.3.jar b/marvinproject/dev/MarvinSamples/marvin/framework/marvin_1.4.3.jar deleted file mode 100644 index 14e5c75..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/framework/marvin_1.4.3.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar deleted file mode 100644 index 0dc4c7e..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.mosaic.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.television.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.television.jar deleted file mode 100644 index bad8cc5..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.artistic.television.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar deleted file mode 100644 index 9dce87f..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineFixedCameraBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar deleted file mode 100644 index a51fb09..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.background.determineSceneBackground.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar deleted file mode 100644 index a385e9b..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.gaussianBlur.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar deleted file mode 100644 index ec0bf27..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.blur.pixelize.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar deleted file mode 100644 index 954f7ae..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.alphaBoundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar deleted file mode 100644 index fded99d..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.blackAndWhite.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar deleted file mode 100644 index 09737ff..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.brightnessAndContrast.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar deleted file mode 100644 index 2146373..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.colorChannel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.emboss.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.emboss.jar deleted file mode 100644 index 040db78..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.emboss.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar deleted file mode 100644 index a5f6774..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.grayScale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.invert.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.invert.jar deleted file mode 100644 index 605c581..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.invert.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.sepia.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.sepia.jar deleted file mode 100644 index 22bb3e0..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.sepia.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar deleted file mode 100644 index 0639b08..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.skinColorDetection.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar deleted file mode 100644 index 62bcff3..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholding.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar deleted file mode 100644 index 9c0dbe2..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.color.thresholdingNeighborhood.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar deleted file mode 100644 index 817297c..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByMask.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar deleted file mode 100644 index 1b6d2c3..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.combineByTransparency.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar deleted file mode 100644 index 24235cb..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.combine.mergePhotos.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.convolution.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.convolution.jar deleted file mode 100644 index 3bd7250..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.convolution.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.harris.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.harris.jar deleted file mode 100644 index 0180e38..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.harris.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar deleted file mode 100644 index c6a9ef1..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.moravec.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.susan.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.susan.jar deleted file mode 100644 index 4f77778..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.corner.susan.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar deleted file mode 100644 index 969d023..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceColor.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar deleted file mode 100644 index 79c834a..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differenceGray.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar deleted file mode 100644 index 74c0caa..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.difference.differentRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar deleted file mode 100644 index c29526e..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.edgeDetector.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar deleted file mode 100644 index 59e68ed..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.prewitt.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar deleted file mode 100644 index f506570..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.roberts.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar deleted file mode 100644 index 9780a63..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.edge.sobel.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar deleted file mode 100644 index 8faf166..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.equalization.histogramEqualization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar deleted file mode 100644 index 426b5bb..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.fill.boundaryFill.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar deleted file mode 100644 index 3000cc3..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.circles.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar deleted file mode 100644 index 09ebd47..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.dithering.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar deleted file mode 100644 index 81d5ab0..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.errorDiffusion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar deleted file mode 100644 index c209e93..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.halftone.rylanders.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar deleted file mode 100644 index 91ee401..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.colorHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar deleted file mode 100644 index 6e59c5d..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.histogram.grayHistogram.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar deleted file mode 100644 index 60e0ed6..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.interfaceTest.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar deleted file mode 100644 index 6882aca..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.boundary.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar deleted file mode 100644 index 680ef40..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.closing.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar deleted file mode 100644 index ad104e4..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.dilation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar deleted file mode 100644 index 2ce6d97..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.erosion.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar deleted file mode 100644 index 0679e16..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.morphological.opening.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar deleted file mode 100644 index d90b58d..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.correlation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar deleted file mode 100644 index 662f4ee..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findColorPattern.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar deleted file mode 100644 index ceed1ff..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findSubimage.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar deleted file mode 100644 index 78e858a..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.findTextRegions.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar deleted file mode 100644 index 15c8b0b..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.harrisPlessey.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar deleted file mode 100644 index 8d403ec..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.pattern.patternRecognition.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar deleted file mode 100644 index 6758bb4..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.colorQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar deleted file mode 100644 index af7f531..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.quantization.grayScaleQuantization.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar deleted file mode 100644 index 397ce83..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.grayGradient.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar deleted file mode 100644 index 9768a44..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.iteratedFunctionSystem.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar deleted file mode 100644 index 618ceba..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.juliaSet.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar deleted file mode 100644 index 63c0f5a..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.lindenmayer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar deleted file mode 100644 index 0809cf0..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.mandelbrot.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.text.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.text.jar deleted file mode 100644 index cd2a577..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.render.text.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar deleted file mode 100644 index 6a45cd9..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.restoration.noiseReduction.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar deleted file mode 100644 index 15cf0ae..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.crop.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar deleted file mode 100644 index a199a31..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.floodfillSegmentation.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar deleted file mode 100644 index bdb9964..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.segmentation.imageSlicer.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar deleted file mode 100644 index c11bc8d..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.maximum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.median.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.median.jar deleted file mode 100644 index fca64a5..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.median.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar deleted file mode 100644 index 1f9f0cf..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.minimum.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar deleted file mode 100644 index 1b80da9..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.statistical.mode.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.steganography.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.steganography.jar deleted file mode 100644 index a8c702d..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.steganography.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.subtract.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.subtract.jar deleted file mode 100644 index 9b3a9a0..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.subtract.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar deleted file mode 100644 index 6d452d6..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.determineGround.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.plugin.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.plugin.jar deleted file mode 100644 index fb7cd45..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.test.plugin.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar deleted file mode 100644 index 09a6d52..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.texture.tileTexture.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.flip.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.flip.jar deleted file mode 100644 index a2be3d6..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.flip.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar deleted file mode 100644 index 0bc69b6..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.rotate.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.scale.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.scale.jar deleted file mode 100644 index fd4a422..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.scale.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.skew.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.skew.jar deleted file mode 100644 index 517d35b..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.skew.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar deleted file mode 100644 index d95f204..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.image.transform.watershed.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.ml.kmeans.jar b/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.ml.kmeans.jar deleted file mode 100644 index 4e5ac8a..0000000 Binary files a/marvinproject/dev/MarvinSamples/marvin/plugins/image/org.marvinproject.ml.kmeans.jar and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/pom.xml b/marvinproject/dev/MarvinSamples/pom.xml deleted file mode 100644 index e9ca014..0000000 --- a/marvinproject/dev/MarvinSamples/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - 4.0.0 - MarvinSamples - MarvinSamples - 1 - - - MarvinFramework - MarvinFramework - 1 - - - - MarvinPlugins - MarvinPlugins - 1 - - - - - src - - - maven-compiler-plugin - 3.1 - - 1.7 - 1.7 - - - - - \ No newline at end of file diff --git a/marvinproject/dev/MarvinSamples/res/ARtag.jpg b/marvinproject/dev/MarvinSamples/res/ARtag.jpg deleted file mode 100644 index 6cd1aa8..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/ARtag.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/ARtag2.jpg b/marvinproject/dev/MarvinSamples/res/ARtag2.jpg deleted file mode 100644 index 1b0c8e2..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/ARtag2.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/alan.jpg b/marvinproject/dev/MarvinSamples/res/alan.jpg deleted file mode 100644 index 94f7d6a..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/alan.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/alanOut.png b/marvinproject/dev/MarvinSamples/res/alanOut.png deleted file mode 100644 index 601a507..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/alanOut.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/arara.jpg b/marvinproject/dev/MarvinSamples/res/arara.jpg deleted file mode 100644 index a2f1eb7..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/arara.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/arara2.jpg b/marvinproject/dev/MarvinSamples/res/arara2.jpg deleted file mode 100644 index 0fe5d66..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/arara2.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/araraNegative.jpg b/marvinproject/dev/MarvinSamples/res/araraNegative.jpg deleted file mode 100644 index bb6316f..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/araraNegative.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/artag2_out.jpg b/marvinproject/dev/MarvinSamples/res/artag2_out.jpg deleted file mode 100644 index 530eb75..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/artag2_out.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/artag_out.jpg b/marvinproject/dev/MarvinSamples/res/artag_out.jpg deleted file mode 100644 index 29cd355..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/artag_out.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/ball.png b/marvinproject/dev/MarvinSamples/res/ball.png deleted file mode 100644 index d020e2e..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/ball.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/cards.jpg b/marvinproject/dev/MarvinSamples/res/cards.jpg deleted file mode 100644 index 166a405..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/cards.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/cardsOut.png b/marvinproject/dev/MarvinSamples/res/cardsOut.png deleted file mode 100644 index d982500..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/cardsOut.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/font.png b/marvinproject/dev/MarvinSamples/res/font.png deleted file mode 100644 index 2870182..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/font.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/hat.png b/marvinproject/dev/MarvinSamples/res/hat.png deleted file mode 100644 index 03053c7..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/hat.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/moravec.png b/marvinproject/dev/MarvinSamples/res/moravec.png deleted file mode 100644 index 5f59fd8..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/moravec.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/moravec_out.png b/marvinproject/dev/MarvinSamples/res/moravec_out.png deleted file mode 100644 index 5ccdde0..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/moravec_out.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/paddleA.png b/marvinproject/dev/MarvinSamples/res/paddleA.png deleted file mode 100644 index 52d25d7..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/paddleA.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/paddleB.png b/marvinproject/dev/MarvinSamples/res/paddleB.png deleted file mode 100644 index f369860..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/paddleB.png and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/paradise.jpg b/marvinproject/dev/MarvinSamples/res/paradise.jpg deleted file mode 100644 index 0ec9ee0..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/paradise.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/passage_2.jpg b/marvinproject/dev/MarvinSamples/res/passage_2.jpg deleted file mode 100644 index e69de29..0000000 diff --git a/marvinproject/dev/MarvinSamples/res/penguin.jpg b/marvinproject/dev/MarvinSamples/res/penguin.jpg deleted file mode 100644 index 50a8fa4..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/penguin.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/penguin_dark.jpg b/marvinproject/dev/MarvinSamples/res/penguin_dark.jpg deleted file mode 100644 index dac845a..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/penguin_dark.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/senna.jpg b/marvinproject/dev/MarvinSamples/res/senna.jpg deleted file mode 100644 index f9a20cf..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/senna.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/snooker.wmv b/marvinproject/dev/MarvinSamples/res/snooker.wmv deleted file mode 100644 index d3ffde1..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/snooker.wmv and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/res/tucano.jpg b/marvinproject/dev/MarvinSamples/res/tucano.jpg deleted file mode 100644 index 8a27237..0000000 Binary files a/marvinproject/dev/MarvinSamples/res/tucano.jpg and /dev/null differ diff --git a/marvinproject/dev/MarvinSamples/src/image/filters/Filters.java b/marvinproject/dev/MarvinSamples/src/image/filters/Filters.java deleted file mode 100644 index c0f731f..0000000 --- a/marvinproject/dev/MarvinSamples/src/image/filters/Filters.java +++ /dev/null @@ -1,114 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package image.filters; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; - -import static marvinplugins.MarvinPluginCollection.*; - -/** - * Filter application sample - * @author Gabriel Ambrosio Archanjo - */ -public class Filters extends JFrame -{ - private MarvinImagePanel imagePanel; - private MarvinImage image, - backupImage; - - private JPanel panelBottom; - - - private JButton buttonGray, - buttonSepia, - buttonInvert, - buttonReset; - - private MarvinImagePlugin imagePlugin; - - public Filters() - { - super("Filters Sample"); - // Create Graphical Interface - ButtonHandler buttonHandler = new ButtonHandler(); - buttonGray = new JButton("Gray"); - buttonGray.addActionListener(buttonHandler); - buttonSepia = new JButton("Sepia"); - buttonSepia.addActionListener(buttonHandler); - buttonInvert = new JButton("Invert"); - buttonInvert.addActionListener(buttonHandler); - buttonReset = new JButton("Reset"); - buttonReset.addActionListener(buttonHandler); - - panelBottom = new JPanel(); - panelBottom.add(buttonGray); - panelBottom.add(buttonSepia); - panelBottom.add(buttonInvert); - panelBottom.add(buttonReset); - - // ImagePanel - imagePanel = new MarvinImagePanel(); - - Container l_c = getContentPane(); - l_c.setLayout(new BorderLayout()); - l_c.add(imagePanel, BorderLayout.NORTH); - l_c.add(panelBottom, BorderLayout.SOUTH); - - // Load image - loadImage(); - - imagePanel.setImage(image); - - setSize(320,600); - setVisible(true); - } - - private void loadImage(){ - image = MarvinImageIO.loadImage("./res/arara.jpg"); - backupImage = image.clone(); - } - - public static void main(String args[]){ - Filters t = new Filters(); - t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class ButtonHandler implements ActionListener - { - public void actionPerformed(ActionEvent a_event){ - image = backupImage.clone(); - if(a_event.getSource() == buttonGray){ - grayScale(image); - } - else if(a_event.getSource() == buttonSepia){ - sepia(image, 50); - } - else if(a_event.getSource() == buttonInvert){ - invertColors(image); - } - image.update(); - imagePanel.setImage(image); - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinSamples/src/image/history/History.java b/marvinproject/dev/MarvinSamples/src/image/history/History.java deleted file mode 100644 index 3c5850f..0000000 --- a/marvinproject/dev/MarvinSamples/src/image/history/History.java +++ /dev/null @@ -1,137 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package image.history; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinPluginHistory; - -import org.marvinproject.image.color.brightnessAndContrast.BrightnessAndContrast; -import org.marvinproject.image.color.invert.Invert; -import org.marvinproject.image.edge.edgeDetector.EdgeDetector; - -/** - * History sample - * @author Gabriel Ambrosio Archanjo - * - */ -public class History extends JFrame { - - // GUI - JButton buttonShowHistory; - JButton buttonApply; - - // Marvin Objects - MarvinPluginHistory history; - MarvinImagePlugin tempPlugin; - MarvinImage originalImage; - MarvinImage resultImage; - - MarvinImagePanel imagePanelOriginal, - imagePanelNew; - - public History(){ - super("Plug-in History Sample"); - - ButtonHandler buttonHandler = new ButtonHandler(); - buttonShowHistory = new JButton("Show History"); - buttonShowHistory.addActionListener(buttonHandler); - buttonApply = new JButton("Apply"); - buttonApply.addActionListener(buttonHandler); - - JPanel l_panelBottom = new JPanel(); - l_panelBottom.add(buttonApply); - l_panelBottom.add(buttonShowHistory); - - imagePanelOriginal = new MarvinImagePanel(); - imagePanelNew = new MarvinImagePanel(); - - JPanel l_panelTop = new JPanel(); - l_panelTop.add(imagePanelOriginal); - l_panelTop.add(imagePanelNew); - - Container l_c = getContentPane(); - l_c.setLayout(new BorderLayout()); - l_c.add(l_panelTop, BorderLayout.NORTH); - l_c.add(l_panelBottom, BorderLayout.SOUTH); - - originalImage = MarvinImageIO.loadImage("./res/tucano.jpg"); - imagePanelOriginal.setImage(originalImage); - imagePanelNew.setPreferredSize(imagePanelOriginal.getPreferredSize()); - - setSize(765,630); - setVisible(true); - } - - private void process(){ - history = new MarvinPluginHistory(); - - resultImage = originalImage.clone(); - MarvinImage l_tempImage = new MarvinImage(resultImage.getWidth(), resultImage.getHeight()); - - history.addEntry("Original", resultImage, null); - - tempPlugin = new EdgeDetector(); - tempPlugin.load(); - tempPlugin.process(resultImage, l_tempImage); - l_tempImage.update(); - resultImage = l_tempImage.clone(); - history.addEntry("Edge", resultImage, tempPlugin.getAttributes()); - - tempPlugin = new BrightnessAndContrast(); - tempPlugin.load(); - tempPlugin.setAttribute("brightness", -127); - tempPlugin.setAttribute("contrast", 127); - - tempPlugin.process(resultImage, resultImage); - resultImage.update(); - history.addEntry("BrightenessContrast", resultImage, tempPlugin.getAttributes()); - - tempPlugin = new Invert(); - tempPlugin.load(); - tempPlugin.process(resultImage, resultImage); - resultImage.update(); - history.addEntry("Invert", resultImage, tempPlugin.getAttributes()); - - - imagePanelNew.setImage(resultImage); - } - - public static void main(String args[]){ - History s = new History(); - s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent e){ - if(e.getSource() == buttonApply){ - process(); - } - else if(e.getSource() == buttonShowHistory){ - if(history != null){ - history.showThumbnailHistory(); - } - } - } - } -} diff --git a/marvinproject/dev/MarvinSamples/src/image/loadAndSave/LoadAndSave.java b/marvinproject/dev/MarvinSamples/src/image/loadAndSave/LoadAndSave.java deleted file mode 100644 index 8399870..0000000 --- a/marvinproject/dev/MarvinSamples/src/image/loadAndSave/LoadAndSave.java +++ /dev/null @@ -1,56 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package image.loadAndSave; - -import javax.swing.JFrame; - -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; - -import org.marvinproject.image.color.invert.Invert; - -/** - * Load and save sample. - * @author Gabriel Ambrosio Archanjo - */ -public class LoadAndSave extends JFrame -{ - public LoadAndSave() - { - super("Load and Save Sample"); - process(); - setSize(800,600); - setVisible(true); - } - - private void process(){ - // 1. Load Image - MarvinImage l_image; - l_image = MarvinImageIO.loadImage("./res/arara.jpg"); - - MarvinImagePlugin l_pluginImage = new Invert(); - l_pluginImage.load(); - l_pluginImage.process(l_image, l_image); - l_image.update(); - - // 2. Load plug-in - if(l_image != null){ - MarvinImageIO.saveImage(l_image, "./res/araraNegative.jpg"); - } - } - - public static void main(String args[]){ - LoadAndSave las = new LoadAndSave(); - las.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinSamples/src/image/multithread/Multithread.java b/marvinproject/dev/MarvinSamples/src/image/multithread/Multithread.java deleted file mode 100644 index d34bdba..0000000 --- a/marvinproject/dev/MarvinSamples/src/image/multithread/Multithread.java +++ /dev/null @@ -1,188 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package image.multithread; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.thread.MarvinThread; -import marvin.thread.MarvinThreadEvent; -import marvin.thread.MarvinThreadListener; -import marvin.util.MarvinPluginLoader; - -import org.marvinproject.image.statistical.maximum.Maximum; - -/** - * Processing images single and multi threaded. - * @author Gabriel Ambrósio Archanjo - */ -public class Multithread extends JFrame implements MarvinThreadListener{ - - // Interface Components - private JButton buttonSingleThread, - buttonMultiThread, - buttonResetImage; - - private JLabel labelPerformance; - - private MarvinImagePanel imagePanel; - private MarvinImage imageIn, imageOut, originalImage; - - private int threadsFinished; - private long processStartTime; - - public Multithread(){ - super("Multithread Sample"); - - // Buttons - ButtonHandler buttonHandler = new ButtonHandler(); - buttonSingleThread = new JButton("Single Thread"); - buttonMultiThread = new JButton("Multi Thread"); - buttonResetImage = new JButton("Reset Image"); - - buttonSingleThread.addActionListener(buttonHandler); - buttonMultiThread.addActionListener(buttonHandler); - buttonResetImage.addActionListener(buttonHandler); - - // Label - labelPerformance = new JLabel("Performance:"); - - // Panels - JPanel l_panelIntern = new JPanel(); - l_panelIntern.add(buttonSingleThread); - l_panelIntern.add(buttonMultiThread); - l_panelIntern.add(buttonResetImage); - - JPanel l_panelBottom = new JPanel(); - l_panelBottom.setLayout(new BorderLayout()); - - l_panelBottom.add(l_panelIntern, BorderLayout.NORTH); - l_panelBottom.add(labelPerformance, BorderLayout.SOUTH); - - imagePanel = new MarvinImagePanel(); - - // Container - Container l_container = getContentPane(); - l_container.setLayout(new BorderLayout()); - l_container.add(imagePanel, BorderLayout.NORTH); - l_container.add(l_panelBottom, BorderLayout.SOUTH); - - // Load Image - loadImages(); - - setSize(originalImage.getWidth()+20,690); - setVisible(true); - } - - private void loadImages(){ - originalImage = MarvinImageIO.loadImage("./res/senna.jpg"); - imageIn = new MarvinImage(originalImage.getWidth(), originalImage.getHeight()); - imageOut = new MarvinImage(originalImage.getWidth(), originalImage.getHeight()); - imagePanel.setImage(originalImage); - } - - public void threadFinished(MarvinThreadEvent e){ - threadsFinished++; - if(threadsFinished == 2){ - imageOut.update(); - imagePanel.setImage(imageOut); - labelPerformance.setText("Performance: "+ (System.currentTimeMillis()-processStartTime)+ " milliseconds (Multi Thread)"); - repaint(); - } - } - - public static void main(String args[]){ - Multithread t = new Multithread(); - t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private void singleThread(){ - processStartTime = System.currentTimeMillis(); - MarvinImagePlugin l_pluginImage = new Maximum(); - l_pluginImage.load(); - l_pluginImage.process(imageIn, imageOut); - imageOut.update(); - imagePanel.setImage(imageOut); - labelPerformance.setText("Performance: "+ (System.currentTimeMillis()-processStartTime)+ " milliseconds (Single Thread)"); - repaint(); - } - - private void multiThread(){ - processStartTime = System.currentTimeMillis(); - - // Load Plug-ins - MarvinImagePlugin l_pluginImage_1 = new Maximum(); - MarvinImagePlugin l_pluginImage_2 = new Maximum(); - l_pluginImage_1.load(); - l_pluginImage_2.load(); - - // Create masks - MarvinImageMask l_mask1 = new MarvinImageMask - ( - imageIn.getWidth(), // width - imageIn.getHeight(), // height - 0, // x-start - 0, // y-start - imageIn.getWidth(), // region´s width - imageIn.getHeight()/2 // region´s height - ); - - MarvinImageMask l_mask2 = new MarvinImageMask - ( - imageIn.getWidth(), // width - imageIn.getHeight(), // height - 0, // x-start - imageIn.getHeight()/2, // y-start - imageIn.getWidth(), // region´s width - imageIn.getHeight()/2 // region´s height - ); - - - MarvinThread l_marvinThread_1 = new MarvinThread(l_pluginImage_1, imageIn, imageOut, l_mask1); - MarvinThread l_marvinThread_2 = new MarvinThread(l_pluginImage_2, imageIn, imageOut, l_mask2); - - l_marvinThread_1.addThreadListener(this); - l_marvinThread_2.addThreadListener(this); - - l_marvinThread_1.start(); - l_marvinThread_2.start(); - - threadsFinished = 0; - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent e){ - imageIn = originalImage.clone(); - if(e.getSource() == buttonSingleThread){ - singleThread(); - } - else if(e.getSource() == buttonMultiThread){ - multiThread(); - } - else if(e.getSource() == buttonResetImage){ - imagePanel.setImage(originalImage); - } - } - } -} diff --git a/marvinproject/dev/MarvinSamples/src/image/unitTesting/UnitTesting.java b/marvinproject/dev/MarvinSamples/src/image/unitTesting/UnitTesting.java deleted file mode 100644 index 0be532e..0000000 --- a/marvinproject/dev/MarvinSamples/src/image/unitTesting/UnitTesting.java +++ /dev/null @@ -1,24 +0,0 @@ -package image.unitTesting; - -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.test.MarvinTestCase; - -public class UnitTesting extends MarvinTestCase { - - private MarvinImage imageA, imageB, imageC; - - public UnitTesting(){ - imageA = MarvinImageIO.loadImage("./res/penguin.jpg"); - imageB = MarvinImageIO.loadImage("./res/penguin.jpg"); - imageC = MarvinImageIO.loadImage("./res/penguin_dark.jpg"); - } - - public void testSameImage(){ - assertEquals(imageA, imageB); - } - - public void testDistinctImages(){ - assertEquals(imageA, imageC); - } -} diff --git a/marvinproject/dev/MarvinSamples/src/plugin/usage/mergePhotos/MergePhotosExample.java b/marvinproject/dev/MarvinSamples/src/plugin/usage/mergePhotos/MergePhotosExample.java deleted file mode 100644 index 6a1173c..0000000 --- a/marvinproject/dev/MarvinSamples/src/plugin/usage/mergePhotos/MergePhotosExample.java +++ /dev/null @@ -1,37 +0,0 @@ -package plugin.usage.mergePhotos; - -import java.util.ArrayList; -import java.util.List; - -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; - -import org.marvinproject.image.combine.mergePhotos.MergePhotos; - -public class MergePhotosExample { - - public MergePhotosExample(){ - - // 1. load images 01.jpg, 02.jpg, ..., 05.jpg into a List - List images = new ArrayList(); - for(int i=1; i<=5; i++){ - images.add(MarvinImageIO.loadImage("./res/0"+i+".jpg")); - } - - // 2. Load plug-in and process the image - MarvinImagePlugin merge = new MergePhotos(); - merge.load(); - merge.setAttribute("threshold", 38); - - // 3. Process the image list and save the output - MarvinImage output = images.get(0).clone(); - merge.process(images, output); - MarvinImageIO.saveImage(output, "./res/merge_output.jpg"); - } - - public static void main(String[] args) { - new MergePhotosExample(); - System.exit(0); - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinSamples/src/plugin/usage/moravec/MoravecExample.java b/marvinproject/dev/MarvinSamples/src/plugin/usage/moravec/MoravecExample.java deleted file mode 100644 index f05616f..0000000 --- a/marvinproject/dev/MarvinSamples/src/plugin/usage/moravec/MoravecExample.java +++ /dev/null @@ -1,72 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package plugin.usage.moravec; - -import java.awt.Color; - -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; - -import org.marvinproject.image.corner.moravec.Moravec; - -public class MoravecExample { - public static void main(String[] args) { - - MarvinImagePlugin moravec = new Moravec(); - moravec.load(); - moravec.setAttribute("threshold", 50000); - - // 1. Figures - MarvinImage imageIn = MarvinImageIO.loadImage("./res/moravec.png"); - MarvinAttributes attr = new MarvinAttributes(); - moravec.process(imageIn, null, attr); - imageIn = showCorners(imageIn, attr, 6); - MarvinImageIO.saveImage(imageIn, "./res/moravec_out.png"); - - // 2. Face - moravec.setAttribute("threshold", 2000); - moravec.setAttribute("matrixSize", 7); - imageIn = MarvinImageIO.loadImage("./res/alan.jpg"); - attr = new MarvinAttributes(); - moravec.process(imageIn, null, attr); - imageIn = showCorners(imageIn, attr, 3); - MarvinImageIO.saveImage(imageIn, "./res/alanOut.png"); - - // 3. House - moravec.setAttribute("threshold", 1500); - moravec.setAttribute("matrixSize", 7); - imageIn = MarvinImageIO.loadImage("./res/cards.jpg"); - attr = new MarvinAttributes(); - moravec.process(imageIn, null, attr); - imageIn = showCorners(imageIn, attr, 3); - MarvinImageIO.saveImage(imageIn, "./res/cardsOut.png"); - } - - private static MarvinImage showCorners(MarvinImage image, MarvinAttributes attr, int rectSize){ - MarvinImage ret = image.clone(); - int[][] cornernessMap = (int[][]) attr.get("cornernessMap"); - int rsize=0; - for(int x=0; x 0){ - rsize = Math.min(Math.min(Math.min(x, rectSize), Math.min(cornernessMap.length-x, rectSize)), Math.min(Math.min(y, rectSize), Math.min(cornernessMap[0].length-y, rectSize))); - ret.fillRect(x, y, rsize, rsize, Color.red); - } - } - } - - return ret; - } -} diff --git a/marvinproject/dev/MarvinSamples/src/video/chromaKey/ChromaKey.java b/marvinproject/dev/MarvinSamples/src/video/chromaKey/ChromaKey.java deleted file mode 100644 index 4b76674..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/chromaKey/ChromaKey.java +++ /dev/null @@ -1,210 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.chromaKey; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.combine.combineByMask.CombineByMask; -import org.marvinproject.image.subtract.Subtract; -import org.marvinproject.image.transform.scale.Scale; - -/** - * Subtract the background and combine other image. - * @author Gabriel Ambrosio Archanjo - */ -public class ChromaKey extends JFrame implements Runnable{ - - private JPanel panelBottom, - panelSlider; - private JSlider sliderColorRange; - private JButton buttonCaptureBackground, - buttonStart; - private JLabel labelColorRange; - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private boolean playing; - private boolean removeBackground; - - private Thread thread; - - private MarvinImage imageIn, - imageOut, - imageBackground; - - private MarvinImagePlugin pluginChroma, - pluginCombine; - - private int imageWidth, - imageHeight; - - private int colorRange=30; - - public ChromaKey(){ - try{ - videoPanel = new MarvinImagePanel(); - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth, imageHeight); - - loadGUI(); - - pluginChroma = new Subtract(); - pluginChroma.load(); - pluginCombine = new CombineByMask(); - pluginCombine.load(); - - MarvinImage l_imageParadise = MarvinImageIO.loadImage("./res/paradise.jpg"); - Integer cameraWidth = videoInterface.getImageWidth(); - Integer cameraHeight = videoInterface.getImageHeight(); - - MarvinImagePlugin pluginScale = new Scale(); - pluginScale.load(); - pluginScale.setAttribute("newWidth", cameraWidth); - pluginScale.setAttribute("newHeight", cameraHeight); - - MarvinImage l_imageParadiseResize = new MarvinImage(1,1); - pluginScale.process(l_imageParadise, l_imageParadiseResize); - l_imageParadise = l_imageParadiseResize; - - pluginCombine.setAttribute("combinationImage", l_imageParadise); - pluginCombine.setAttribute("colorMask", new Color(0,0,255)); - - imageBackground = new MarvinImage(cameraWidth, cameraHeight); - - thread = new Thread(this); - thread.start(); - playing = true; - removeBackground = false; - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Chroma Key Sample"); - - panelBottom = new JPanel(); - - ButtonHandler l_buttonHandler = new ButtonHandler(); - buttonCaptureBackground = new JButton("Capture Background"); - buttonStart = new JButton("Start"); - buttonStart.setEnabled(false); - buttonCaptureBackground.addActionListener(l_buttonHandler); - buttonStart.addActionListener(l_buttonHandler); - - sliderColorRange = new JSlider(JSlider.HORIZONTAL, 0, 50, 30); - sliderColorRange.setMinorTickSpacing(1); - sliderColorRange.setPaintTicks(true); - sliderColorRange.addChangeListener(new SliderHandler()); - - labelColorRange = new JLabel("Color Range"); - - panelSlider = new JPanel(); - panelSlider.add(labelColorRange); - panelSlider.add(sliderColorRange); - - panelBottom.add(buttonCaptureBackground); - panelBottom.add(buttonStart); - - Container l_container = getContentPane(); - l_container.setLayout(new BorderLayout()); - l_container.add(videoPanel, BorderLayout.NORTH); - l_container.add(panelSlider, BorderLayout.CENTER); - l_container.add(panelBottom, BorderLayout.SOUTH); - - - setSize(videoInterface.getImageWidth(),videoInterface.getImageHeight()+100); - setVisible(true); - } - - public void run(){ - try{ - while(true){ - if(playing) - { - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - if(removeBackground){ - pluginChroma.setAttribute("colorRange", colorRange); - pluginChroma.process(imageIn, imageOut); - pluginCombine.process(imageOut, imageOut); - } - else{ - MarvinImage.copyColorArray(imageIn, imageOut); - } - videoPanel.setImage(imageOut); - } - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - public static void main(String[] args){ - ChromaKey ck = new ChromaKey(); - ck.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent a_event){ - if(a_event.getSource() == buttonCaptureBackground){ - try{ - MarvinImage.copyColorArray(videoInterface.getFrame(), imageBackground); - pluginChroma.setAttribute("backgroundImage", imageBackground); - buttonStart.setEnabled(true); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - else if(a_event.getSource() == buttonStart){ - removeBackground = true; - } - } - } - - private class SliderHandler implements ChangeListener{ - public void stateChanged(ChangeEvent a_event){ - colorRange = (50-sliderColorRange.getValue()); - } - } - -} diff --git a/marvinproject/dev/MarvinSamples/src/video/detectMotionRegions/DetectMotionRegions.java b/marvinproject/dev/MarvinSamples/src/video/detectMotionRegions/DetectMotionRegions.java deleted file mode 100644 index 2852a6a..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/detectMotionRegions/DetectMotionRegions.java +++ /dev/null @@ -1,164 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.detectMotionRegions; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Container; -import java.util.Vector; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.difference.differentRegions.DifferentRegions; - -/** - * Detect the motion regions considering the difference between frames. - * @author Gabriel Ambrosio Archanjo - */ -public class DetectMotionRegions extends JFrame implements Runnable{ - - private JPanel panelSlider; - private JSlider sliderSensibility; - private JLabel labelSlider; - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private MarvinImage imageIn, - imageOut, - imageLastFrame; - - private int imageWidth, - imageHeight; - - - private MarvinAttributes attributesOut; - - private Thread thread; - - private MarvinImagePlugin pluginMotionRegions; - - private int sensibility=30; - - public DetectMotionRegions(){ - try{ - videoPanel = new MarvinImagePanel(); - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth,imageHeight); - imageLastFrame = new MarvinImage(imageWidth,imageHeight); - - attributesOut = new MarvinAttributes(null); - - pluginMotionRegions = new DifferentRegions(); - pluginMotionRegions.load(); - pluginMotionRegions.setAttribute("comparisonImage", imageLastFrame); - - loadGUI(); - - thread = new Thread(this); - thread.start(); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Video Sample - Detect Motion Regions"); - - sliderSensibility = new JSlider(JSlider.HORIZONTAL, 0, 60, 30); - sliderSensibility.setMinorTickSpacing(2); - sliderSensibility.setPaintTicks(true); - sliderSensibility.addChangeListener(new SliderHandler()); - - labelSlider = new JLabel("Sensibility"); - - panelSlider = new JPanel(); - panelSlider.add(labelSlider); - panelSlider.add(sliderSensibility); - - Container container = getContentPane(); - container.setLayout(new BorderLayout()); - container.add(videoPanel, BorderLayout.NORTH); - container.add(panelSlider, BorderLayout.SOUTH); - - setSize(imageWidth+10,imageHeight+100); - setVisible(true); - } - - public void run(){ - boolean first = true; - - int[] tempRect; - - try{ - while(true){ - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - if(!first){ - pluginMotionRegions.setAttribute("comparisonImage", imageLastFrame); - pluginMotionRegions.setAttribute("colorRange", sensibility); - - MarvinImage.copyColorArray(imageIn, imageOut); - pluginMotionRegions.process(imageIn, imageOut, attributesOut, MarvinImageMask.NULL_MASK, false); - - Vector regions = (Vector)attributesOut.get("regions"); - - for(int i=0; i -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.objectTracking; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Container; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.pattern.findColorPattern.FindColorPattern; - -/** - * Object tracking by color pattern - * @author Gabriel Ambrosio Archanjo - */ - -public class ObjectTracking extends JFrame implements Runnable{ - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private Thread thread; - - private MarvinImage imageIn, - imageOut; - - private JPanel panelSlider; - - private JSlider sliderSensibility; - - private JLabel labelSlider; - - private MarvinImagePlugin pluginImage; - private MarvinAttributes attributesOut; - - private int sensibility=30; - - private int imageWidth, - imageHeight; - - private boolean regionSelected=false; - private int[] arrInitialRegion; - - public ObjectTracking(){ - - try{ - videoPanel = new MarvinImagePanel(); - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth, imageHeight); - - loadGUI(); - - pluginImage = new FindColorPattern(); - pluginImage.load(); - - attributesOut = new MarvinAttributes(null); - - thread = new Thread(this); - thread.start(); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Video Sample - Tracking"); - - videoPanel.addMouseListener(new MouseHandler()); - - sliderSensibility = new JSlider(JSlider.HORIZONTAL, 0, 60, 30); - sliderSensibility.setMinorTickSpacing(2); - sliderSensibility.setPaintTicks(true); - sliderSensibility.addChangeListener(new SliderHandler()); - - labelSlider = new JLabel("Sensibility"); - - panelSlider = new JPanel(); - panelSlider.add(labelSlider); - panelSlider.add(sliderSensibility); - - Container l_container = getContentPane(); - l_container.setLayout(new BorderLayout()); - l_container.add(videoPanel, BorderLayout.NORTH); - l_container.add(panelSlider, BorderLayout.SOUTH); - - setSize(imageWidth+20,imageHeight+100); - setVisible(true); - } - - public void run(){ - long time = System.currentTimeMillis(); - int ticks=0; - - try{ - while(true){ - - ticks++; - if(System.currentTimeMillis() - time > 1000){ - System.out.println("FPS: "+ticks+" "); - ticks=0; - time = System.currentTimeMillis(); - } - - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - MarvinImage.copyColorArray(imageIn, imageOut); - - if(regionSelected){ - pluginImage.setAttribute("differenceColorRange", sensibility); - pluginImage.process(imageIn, imageOut, attributesOut, MarvinImageMask.NULL_MASK, false); - - imageOut.drawRect - ( - (Integer)attributesOut.get("regionPx"), - (Integer)attributesOut.get("regionPy"), - (Integer)attributesOut.get("regionWidth"), - (Integer)attributesOut.get("regionHeight"), - Color.red - ); - } - videoPanel.setImage(imageOut); - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - public static void main(String args[]){ - ObjectTracking l_objectTracking = new ObjectTracking(); - l_objectTracking.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class SliderHandler implements ChangeListener{ - public void stateChanged(ChangeEvent a_event){ - sensibility = (60-sliderSensibility.getValue()); - } - } - - private class MouseHandler implements MouseListener{ - public void mouseEntered(MouseEvent a_event){} - public void mouseExited(MouseEvent a_event){} - public void mousePressed(MouseEvent a_event){} - public void mouseClicked(MouseEvent a_event){} - - public void mouseReleased(MouseEvent a_event){ - if(!regionSelected){ - if(arrInitialRegion == null){ - arrInitialRegion = new int[]{a_event.getX(), a_event.getY(),0,0}; - } - else{ - arrInitialRegion[2] = a_event.getX()-arrInitialRegion[0]; - arrInitialRegion[3] = a_event.getY()-arrInitialRegion[1]; - - pluginImage.setAttribute("regionPx", arrInitialRegion[0]); - pluginImage.setAttribute("regionPy", arrInitialRegion[1]); - pluginImage.setAttribute("regionWidth", arrInitialRegion[2]); - pluginImage.setAttribute("regionHeight", arrInitialRegion[3]); - regionSelected = true; - } - } - } - } -} diff --git a/marvinproject/dev/MarvinSamples/src/video/simpleMotionDetection/SimpleMotionDetection.java b/marvinproject/dev/MarvinSamples/src/video/simpleMotionDetection/SimpleMotionDetection.java deleted file mode 100644 index c29d6c5..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/simpleMotionDetection/SimpleMotionDetection.java +++ /dev/null @@ -1,199 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.simpleMotionDetection; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Container; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -/** - * Simple motion detection sample - * @author Gabriel Ambrosio Archanjo - */ -public class SimpleMotionDetection extends JFrame implements Runnable{ - - private JPanel panelCenter, - panelSlider; - - - private JLabel labelMotion, - labelSlider; - - private JSlider sliderSensibility; - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private int imageWidth, - imageHeight; - - private Thread thread; - - private MarvinImage imageIn, - imageOut, - imageLastFrame; - - private double differencePercentage; - - private int sensibility = 7; - - public SimpleMotionDetection(){ - - try{ - videoPanel = new MarvinImagePanel(); - - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth, imageHeight); - - imageLastFrame = new MarvinImage(imageWidth,imageHeight); - - loadGUI(); - - thread = new Thread(this); - thread.start(); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Simple Motion Detection"); - labelMotion = new JLabel("MOTION: NO"); - labelMotion.setOpaque(true); - labelMotion.setHorizontalAlignment(SwingConstants.CENTER); - - labelMotion.setBackground(Color.red); - labelMotion.setForeground(Color.white); - - labelSlider = new JLabel("Sensibility:"); - - sliderSensibility = new JSlider(JSlider.HORIZONTAL, 0, 13, 10); - sliderSensibility.setMinorTickSpacing(1); - sliderSensibility.setPaintTicks(true); - sliderSensibility.addChangeListener(new SliderHandler()); - - panelCenter = new JPanel(new BorderLayout()); - panelCenter.add(videoPanel, BorderLayout.NORTH); - panelCenter.add(labelMotion, BorderLayout.SOUTH); - - panelSlider = new JPanel(); - panelSlider.add(labelSlider); - panelSlider.add(sliderSensibility); - - Container l_container = getContentPane(); - l_container.add(videoPanel, BorderLayout.NORTH); - l_container.add(labelMotion, BorderLayout.CENTER); - l_container.add(panelSlider, BorderLayout.SOUTH); - - - setSize(imageWidth,imageHeight+100); - setVisible(true); - } - - public void run(){ - try{ - while(true){ - - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - differencePercentage = getDifference(imageLastFrame, imageIn); - - MarvinImage.copyColorArray(imageIn, imageOut); - MarvinImage.copyColorArray(imageOut, imageLastFrame); - - videoPanel.setImage(imageOut); - - if(differencePercentage > sensibility){ - labelMotion.setBackground(Color.green); - labelMotion.setForeground(Color.white); - labelMotion.setText("MOTION: YES"); - } - else{ - labelMotion.setBackground(Color.red); - labelMotion.setForeground(Color.white); - labelMotion.setText("MOTION: NO"); - } - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private double getDifference(MarvinImage a_imageA, MarvinImage a_imageB){ - - int l_redA, - l_redB, - l_greenA, - l_greenB, - l_blueA, - l_blueB; - - double l_pixels=0; - - for(int y=0; y 20 || - Math.abs(l_greenA-l_greenB)> 20 || - Math.abs(l_blueA-l_blueB)> 20 - ) - { - l_pixels++; - } - } - } - return (l_pixels/(a_imageA.getWidth()*a_imageA.getHeight())*100); - } - - public static void main(String args[]){ - SimpleMotionDetection smd = new SimpleMotionDetection(); - smd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class SliderHandler implements ChangeListener{ - public void stateChanged(ChangeEvent a_event){ - sensibility = (15-sliderSensibility.getValue()); - } - } -} diff --git a/marvinproject/dev/MarvinSamples/src/video/simpleVideoTest/SimpleVideoTest.java b/marvinproject/dev/MarvinSamples/src/video/simpleVideoTest/SimpleVideoTest.java deleted file mode 100644 index 4a7bf49..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/simpleVideoTest/SimpleVideoTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.simpleVideoTest; -import javax.swing.JFrame; -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -public class SimpleVideoTest extends JFrame implements Runnable{ - - private MarvinVideoInterface videoAdapter; - private MarvinImage image; - private MarvinImagePanel videoPanel; - - public SimpleVideoTest(){ - super("Simple Video Test"); - - try{ - // Create the VideoAdapter and connect to the camera - videoAdapter = new MarvinJavaCVAdapter(); - videoAdapter.connect(1, 640, 480); - - // Create VideoPanel - videoPanel = new MarvinImagePanel(); - add(videoPanel); - - // Start the thread for requesting the video frames - new Thread(this).start(); - - setSize(800,600); - setVisible(true); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - public static void main(String[] args) { - SimpleVideoTest t = new SimpleVideoTest(); - t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - @Override - public void run() { - try{ - while(true){ - // Request a video frame and set into the VideoPanel - image = videoAdapter.getFrame(); - videoPanel.setImage(image); - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } -} - - diff --git a/marvinproject/dev/MarvinSamples/src/video/snookerBallPath/MediaFileExample.java b/marvinproject/dev/MarvinSamples/src/video/snookerBallPath/MediaFileExample.java deleted file mode 100644 index e46d0d0..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/snookerBallPath/MediaFileExample.java +++ /dev/null @@ -1,147 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.snookerBallPath; - -import java.awt.BorderLayout; -import java.awt.FlowLayout; -import java.awt.GridLayout; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -public class MediaFileExample extends JFrame implements Runnable{ - - private MarvinVideoInterface videoAdapter; - private MarvinImage imageIn, imageOut, imageBuffer; - private MarvinImagePanel videoPanelLeft, videoPanelRight; - - private static FlowLayout flowLayout = new FlowLayout(FlowLayout.CENTER); - public MediaFileExample(){ - super("Media File Example"); - - try{ - // Create the VideoAdapter used to load the video file - videoAdapter = new MarvinJavaCVAdapter(); - videoAdapter.loadResource("./res/snooker.wmv"); - - imageOut = new MarvinImage(videoAdapter.getImageWidth(), videoAdapter.getImageHeight()); - imageBuffer = new MarvinImage(videoAdapter.getImageWidth(), videoAdapter.getImageHeight()); - - // Set up the Graphical User Interface - loadGUI(); - - // Start the thread for requesting the video frames - new Thread(this).start(); - - setSize((videoAdapter.getImageWidth()*2)+10,videoAdapter.getImageHeight()+80); - setVisible(true); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - public static void main(String[] args) { - MediaFileExample m = new MediaFileExample(); - m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - @Override - public void run() { - try{ - while(true){ - // Request a video frame - imageIn = videoAdapter.getFrame(); - - if(imageIn != null){ - // Post the original frame in the left video panel - videoPanelLeft.setImage(imageIn); - // Image processing - processImage(imageIn, imageOut); - // Post the processed image in the right video panel - videoPanelRight.setImage(imageOut); - } else{ - break; - } - try{Thread.sleep(30);}catch(Exception e){} - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - /** - * Just buffer every pixels that are not green - * @param imgIn - * @param imgOut - */ - int fc=0; - private void processImage(MarvinImage imgIn, MarvinImage imgOut){ - if(++fc == 8){ - for(int y=0; y 120 && green > red * 1.4 && blue < 50)){ - imageBuffer.setIntColor(x, y, 255, red, green, blue); - } - } - } - fc=0; - } - - for(int y=0; y -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.trackingGameBalls; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.pattern.findColorPattern.FindColorPattern; -import org.marvinproject.image.render.renderText.RenderText; - -/** - * Tracking game sample - * @author Gabriel Ambrosio Archanjo - */ - -public class TrackingGameBalls extends JFrame implements Runnable{ - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private Thread thread; - - private MarvinImage imageIn, - imageOut, - imageHat, - imageBall; - - - private JPanel panelSlider; - - private JSlider sliderSensibility; - - private JButton buttonStart; - - private JLabel labelSlider; - - private int regionPx, - regionPy; - - private int sensibility=30; - - private int playerPoints=15; - - private boolean regionSelected=false; - private int[] arrInitialRegion; - - private Ball[] arrBall; - - private int imageWidth, - imageHeight; - - private int maskPx, - maskPy, - maskWidth=120, - maskHeight=60; - - private MarvinImagePlugin pluginColorPattern, - text; - - private MarvinAttributes attributesOut; - - - // Game Attributes - private long lastBall=0; - private final static int BALL_DELAY = 1000; - private long currentTime; - - - - public TrackingGameBalls(){ - try{ - videoPanel = new MarvinImagePanel(); - - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth, imageHeight); - - imageHat = MarvinImageIO.loadImage("./res/hat.png"); - imageBall = MarvinImageIO.loadImage("./res/ball.png"); - loadGUI(); - - arrBall = new Ball[5]; - for(int l_i=0; l_i<5; l_i++){ - arrBall[l_i] = new Ball(); - arrBall[l_i].used = false; - } - - pluginColorPattern = new FindColorPattern(); - pluginColorPattern.load(); - text = new RenderText(); - text.load(); - text.setAttribute("fontFile", MarvinImageIO.loadImage("./res/font.png")); - text.setAttribute("color", 0xFFFFFFFF); - - - attributesOut = new MarvinAttributes(null); - - thread = new Thread(this); - thread.start(); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Video Sample - Tracking Game"); - - sliderSensibility = new JSlider(JSlider.HORIZONTAL, 0, 60, 30); - sliderSensibility.setMinorTickSpacing(2); - sliderSensibility.setPaintTicks(true); - sliderSensibility.addChangeListener(new SliderHandler()); - - labelSlider = new JLabel("Sensibility"); - - panelSlider = new JPanel(); - panelSlider.add(labelSlider); - panelSlider.add(sliderSensibility); - - buttonStart = new JButton("Start"); - buttonStart.addActionListener(new ButtonHandler()); - - Container l_container = getContentPane(); - l_container.setLayout(new BorderLayout()); - l_container.add(videoPanel, BorderLayout.NORTH); - l_container.add(panelSlider, BorderLayout.CENTER); - l_container.add(buttonStart, BorderLayout.SOUTH); - - setSize(imageWidth+20,imageHeight+100); - setVisible(true); - } - - private void combineImage(MarvinImage a_image, int x, int y){ - int l_rgb; - int l_width = a_image.getWidth(); - int l_height = a_image.getHeight(); - - for(int iy=0; iy 0 && ix+x < imageWidth && - iy+y > 0 && iy+y < imageHeight - ) - { - l_rgb=a_image.getIntColor(ix, iy); - if(l_rgb != 0xFFFFFFFF){ - imageOut.setIntColor(ix+x, iy+y, l_rgb); - } - } - } - } - } - - - private void updateBalls(){ - - currentTime = System.currentTimeMillis(); - if(currentTime - lastBall > BALL_DELAY){ - launchBall(); - lastBall = currentTime; - } - - for(int l_i=0; l_i<5; l_i++){ - if(arrBall[l_i].used){ - arrBall[l_i].py *= 1.1; - combineImage(imageBall,(int)arrBall[l_i].px,(int)arrBall[l_i].py); - } - } - - } - - private void launchBall(){ - for(int l_i=0; l_i<5; l_i++){ - if(!arrBall[l_i].used){ - arrBall[l_i].py = 1; - arrBall[l_i].px = (Math.random()*(imageWidth-300))+150; - arrBall[l_i].used = true; - return; - } - } - } - - public void run(){ - long time = System.currentTimeMillis(); - int ticks=0; - - try{ - while(true){ - - ticks++; - if(System.currentTimeMillis() - time > 1000){ - System.out.println("FPS: "+ticks+" "); - ticks=0; - time = System.currentTimeMillis(); - } - - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - MarvinImage.copyColorArray(imageIn, imageOut); - - if(regionSelected){ - pluginColorPattern.setAttribute("differenceColorRange", sensibility); - pluginColorPattern.process(imageIn, imageOut, attributesOut, MarvinImageMask.NULL_MASK, false); - regionPx = (Integer)attributesOut.get("regionPx"); - regionPy = (Integer)attributesOut.get("regionPy"); - gameLoop(); - } - else{ - combineImage(imageHat,300,200); - } - - - text.setAttribute("y", 5); - text.setAttribute("text", "POINTS:"+playerPoints); - text.process(imageOut, imageOut); - - videoPanel.setImage(imageOut); - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void gameLoop(){ - - maskPx = regionPx-12; - maskPy = regionPy-58; - - updateBalls(); - collisionDetection(); - combineImage(imageHat,regionPx-14,regionPy-95); - } - - public void collisionDetection(){ - for(int l_i=0; l_i<5; l_i++){ - if(arrBall[l_i].used){ - collisionBallMask(arrBall[l_i]); - collisionBallScreen(arrBall[l_i]); - } - } - } - - private void collisionBallScreen(Ball a_ball){ - if(a_ball.py > imageHeight){ - a_ball.used = false; - } - } - - private void collisionBallMask(Ball a_ball){ - if - ( - ( - a_ball.px >= maskPx && a_ball.px <= maskPx+maskWidth || - a_ball.px <= maskPx && a_ball.px+a_ball.width >= maskPx - ) - && - ( - a_ball.py >= maskPy && a_ball.py <= maskPy+maskHeight || - a_ball.py <= maskPy && a_ball.py+a_ball.height >= maskPy - ) - ) - { - a_ball.used = false; - } - - } - - public static void main(String args[]){ - TrackingGameBalls l_trackingBalls = new TrackingGameBalls(); - l_trackingBalls.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class SliderHandler implements ChangeListener{ - public void stateChanged(ChangeEvent a_event){ - sensibility = (60-sliderSensibility.getValue()); - } - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent a_event){ - pluginColorPattern.setAttribute("regionPx", 310); - pluginColorPattern.setAttribute("regionPy", 295); - pluginColorPattern.setAttribute("regionWidth", 118); - pluginColorPattern.setAttribute("regionHeight", 134); - - regionSelected = true; - } - } - - private class Ball{ - public boolean used; - public double px,py; - public int width,height; - } -} diff --git a/marvinproject/dev/MarvinSamples/src/video/trackingPong/TrackingPong.java b/marvinproject/dev/MarvinSamples/src/video/trackingPong/TrackingPong.java deleted file mode 100644 index 74c5990..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/trackingPong/TrackingPong.java +++ /dev/null @@ -1,408 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.trackingPong; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Container; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.io.MarvinImageIO; -import marvin.plugin.MarvinImagePlugin; -import marvin.util.MarvinAttributes; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.pattern.findColorPattern.FindColorPattern; -import org.marvinproject.image.render.renderText.RenderText; -import org.marvinproject.image.transform.flip.Flip; - -/** - * Tracking game sample - * @author Gabriel Ambrosio Archanjo - */ -public class TrackingPong extends JFrame implements Runnable{ - - private final static int BALL_INITIAL_PX=100; - private final static int BALL_INITIAL_PY=100; - private final static int BALL_INITIAL_SPEED=3; - - private MarvinVideoInterface videoInterface; - private MarvinImagePanel videoPanel; - - private Thread thread; - - private MarvinImage imageIn, - imageOut; - - private JPanel panelSlider; - - private JSlider sliderSensibility; - - private JLabel labelSlider; - - private int regionPx, - regionPy, - regionWidth, - regionHeight; - - private boolean regionSelected=false; - private int[] arrInitialRegion; - - private int sensibility=30; - - - - // Pong Game Attributes - private double ballPx=BALL_INITIAL_PX, - ballPy=BALL_INITIAL_PY; - - private int ballSide=15; - - - double ballIncX=5; - private double ballIncY=5; - - private int imageWidth, - imageHeight; - - private Paddle paddlePlayer, - paddleComputer; - - private int playerPoints=0, - computerPoints=0; - - private MarvinImagePlugin findColorPattern, - flip, - text; - - private MarvinImage imageBall, - imagePaddlePlayer, - imagePaddleComputer; - - private MarvinAttributes attributesOut; - - public TrackingPong(){ - videoPanel = new MarvinImagePanel(); - - try{ - // 1. Connect to the camera device. - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - imageWidth = videoInterface.getImageWidth(); - imageHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(imageWidth, imageHeight); - - // 2. Load Graphical Interface. - loadGUI(); - - // 3. Load and set up Marvin plug-ins. - findColorPattern = new FindColorPattern(); - findColorPattern.load(); - flip = new Flip(); - flip.load(); - text = new RenderText(); - text.load(); - text.setAttribute("fontFile", MarvinImageIO.loadImage("./res/font.png")); - text.setAttribute("color", 0xFFFFFFFF); - - // 3. Load game images - imageBall = MarvinImageIO.loadImage("./res/ball.png"); - imagePaddlePlayer = MarvinImageIO.loadImage("./res/paddleA.png"); - imagePaddleComputer = MarvinImageIO.loadImage("./res/paddleB.png"); - - attributesOut = new MarvinAttributes(null); - - // Set up plater and computer paddle properties. - paddlePlayer = new Paddle(); - paddlePlayer.px=100; - paddlePlayer.py=420; - paddlePlayer.width=100; - paddlePlayer.height=30; - - paddleComputer = new Paddle(); - paddleComputer.px=100; - paddleComputer.py=30; - paddleComputer.width=100; - paddleComputer.height=30; - - thread = new Thread(this); - thread.start(); - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Video Sample - Tracking Pong"); - - videoPanel.addMouseListener(new MouseHandler()); - - sliderSensibility = new JSlider(JSlider.HORIZONTAL, 0, 60, 30); - sliderSensibility.setMinorTickSpacing(2); - sliderSensibility.setPaintTicks(true); - sliderSensibility.addChangeListener(new SliderHandler()); - - labelSlider = new JLabel("Sensibility"); - - panelSlider = new JPanel(); - panelSlider.add(labelSlider); - panelSlider.add(sliderSensibility); - - Container container = getContentPane(); - container.setLayout(new BorderLayout()); - container.add(videoPanel, BorderLayout.NORTH); - container.add(panelSlider, BorderLayout.SOUTH); - - setSize(videoInterface.getImageWidth()+20,videoInterface.getImageHeight()+100); - setVisible(true); - } - - public void run(){ - long time = System.currentTimeMillis(); - int ticks=0; - - // The game loop. - try{ - while(true){ - - ticks++; - if(System.currentTimeMillis() - time > 1000){ - System.out.println("FPS: "+ticks+" "); - ticks=0; - time = System.currentTimeMillis(); - } - - // 1. Get the current video frame. - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - // 2. Flip the frame horizontally so the player will see him on the screen like looking at the mirror. - flip.process(imageOut, imageOut); - - if(regionSelected){ - - // 3. Find the player paddle position. - findColorPattern.setAttribute("differenceColorRange", sensibility); - findColorPattern.process(imageOut, imageOut, attributesOut, MarvinImageMask.NULL_MASK, false); - regionPx = (Integer)attributesOut.get("regionPx"); - regionPy = (Integer)attributesOut.get("regionPy"); - regionWidth = (Integer)attributesOut.get("regionWidth"); - regionHeight = (Integer)attributesOut.get("regionHeight"); - - // 4. Invoke the game logic - pongGame(); - - // 5. Draw the detected region - imageOut.drawRect(regionPx, regionPy, regionWidth, regionHeight, Color.red); - - // 6. Draw the player and computer points. - text.setAttribute("x", 105); - text.setAttribute("y", 3); - text.setAttribute("text", "PLAYER:"+playerPoints); - text.process(imageOut, imageOut); - - text.setAttribute("x", 105); - text.setAttribute("y", 460); - text.setAttribute("text", "COMPUTER:"+computerPoints); - text.process(imageOut, imageOut); - } - - - videoPanel.setImage(imageOut); - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void pongGame(){ - // 1. Move the ball - ballIncX*=1.001; - ballIncY*=1.001; - ballPx+=ballIncX; - ballPy+=ballIncY; - - // 2. Set the player paddle position to the the coordinates of the detected region. - paddlePlayer.px = regionPx+((regionWidth-paddlePlayer.width)/2); - - // 3. Invoke simple computer AI - computerAI(); - - // 4. Check object positions and collisions. - checkPaddlePosition(paddlePlayer); - checkPaddlePosition(paddleComputer); - collisionScreen(); - collisionTap(); - - // 5. Draw the game elements. - imageOut.fillRect(horizontalMargin, 0, 5, imageHeight, Color.black); - imageOut.fillRect(imageWidth-horizontalMargin, 0, 5, imageHeight, Color.black); - - combineImage(imagePaddlePlayer, paddlePlayer.px, paddlePlayer.py); - combineImage(imagePaddleComputer, paddleComputer.px, paddleComputer.py); - combineImage(imageBall,(int)ballPx, (int)ballPy); - } - - private void checkPaddlePosition(Paddle a_paddle){ - if(a_paddle.px < horizontalMargin){ - a_paddle.px = horizontalMargin; - } - if(a_paddle.px+a_paddle.width > imageWidth-horizontalMargin){ - a_paddle.px = imageWidth-horizontalMargin-a_paddle.width; - } - } - - private void computerAI(){ - if(ballPx < paddleComputer.px+(paddleComputer.width/2)-10){ - paddleComputer.px-=4; - } - if(ballPx > paddleComputer.px+(paddleComputer.width/2)+10){ - paddleComputer.px+=4; - } - } - - private int horizontalMargin = 100; - private void collisionScreen(){ - - if(ballPx < horizontalMargin){ - ballPx = horizontalMargin; - ballIncX*=-1; - } - if(ballPx+ballSide >= imageWidth-horizontalMargin){ - ballPx=(imageWidth-horizontalMargin)-ballSide; - ballIncX*=-1; - } - if(ballPy < 0){ - playerPoints++; - ballPx = BALL_INITIAL_PX; - ballPy = BALL_INITIAL_PY; - ballIncY=BALL_INITIAL_SPEED; - ballIncX=BALL_INITIAL_SPEED; - } else if(ballPy+ballSide >= imageHeight){ - computerPoints++; - ballPx = BALL_INITIAL_PX; - ballPy = BALL_INITIAL_PY; - ballIncY=BALL_INITIAL_SPEED; - ballIncX=BALL_INITIAL_SPEED; - } - } - - private void collisionTap(){ - if(ballCollisionTap(paddlePlayer)){ - ballIncY*=-1; - ballPy = paddlePlayer.py-ballSide; - } - if(ballCollisionTap(paddleComputer)){ - ballIncY*=-1; - ballPy = paddleComputer.py+paddleComputer.height; - } - } - - private boolean ballCollisionTap(Paddle a_tap){ - if - ( - ( - ballPx >= a_tap.px && ballPx <= a_tap.px+a_tap.width || - ballPx <= a_tap.px && ballPx+ballSide >= a_tap.px - ) - && - ( - ballPy >= a_tap.py && ballPy <= a_tap.py+a_tap.height || - ballPy <= a_tap.py && ballPy+ballSide >= a_tap.py - ) - ) - { - return true; - } - return false; - } - - private void combineImage(MarvinImage img, int x, int y){ - int rgb; - int width = img.getWidth(); - int height = img.getHeight(); - - for(int iy=0; iy 0 && ix+x < imageWidth && - iy+y > 0 && iy+y < imageHeight - ) - { - rgb=img.getIntColor(ix, iy); - if(rgb != 0xFFFFFFFF){ - imageOut.setIntColor(ix+x, iy+y, rgb); - } - } - } - } - } - - public static void main(String args[]){ - TrackingPong trackingPong = new TrackingPong(); - trackingPong.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class SliderHandler implements ChangeListener{ - public void stateChanged(ChangeEvent a_event){ - sensibility = (60-sliderSensibility.getValue()); - } - } - - private class MouseHandler implements MouseListener{ - public void mouseEntered(MouseEvent a_event){} - public void mouseExited(MouseEvent a_event){} - public void mousePressed(MouseEvent a_event){} - public void mouseClicked(MouseEvent a_event){} - - public void mouseReleased(MouseEvent event){ - if(!regionSelected){ - if(arrInitialRegion == null){ - arrInitialRegion = new int[]{event.getX(), event.getY(),0,0}; - } - else{ - arrInitialRegion[2] = event.getX()-arrInitialRegion[0]; - arrInitialRegion[3] = event.getY()-arrInitialRegion[1]; - - findColorPattern.setAttribute("regionPx", arrInitialRegion[0]); - findColorPattern.setAttribute("regionPy", arrInitialRegion[1]); - findColorPattern.setAttribute("regionWidth", arrInitialRegion[2]); - findColorPattern.setAttribute("regionHeight", arrInitialRegion[3]); - - regionSelected = true; - } - } - } - } - - private class Paddle{ - public int px,py,width,height; - } -} diff --git a/marvinproject/dev/MarvinSamples/src/video/videoFilters/VideoFilters.java b/marvinproject/dev/MarvinSamples/src/video/videoFilters/VideoFilters.java deleted file mode 100644 index cb8812a..0000000 --- a/marvinproject/dev/MarvinSamples/src/video/videoFilters/VideoFilters.java +++ /dev/null @@ -1,339 +0,0 @@ -/** -Marvin Project <2007-2013> -http://www.marvinproject.org - -License information: -http://marvinproject.sourceforge.net/en/license.html - -Discussion group: -https://groups.google.com/forum/#!forum/marvin-project -*/ - -package video.videoFilters; - -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.FlowLayout; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinImagePlugin; -import marvin.video.MarvinJavaCVAdapter; -import marvin.video.MarvinVideoInterface; -import marvin.video.MarvinVideoInterfaceException; - -import org.marvinproject.image.artistic.television.Television; -import org.marvinproject.image.blur.pixelize.Pixelize; -import org.marvinproject.image.color.grayScale.GrayScale; -import org.marvinproject.image.color.invert.Invert; -import org.marvinproject.image.color.sepia.Sepia; -import org.marvinproject.image.color.thresholding.Thresholding; -import org.marvinproject.image.difference.differenceColor.DifferenceColor; -import org.marvinproject.image.edge.edgeDetector.EdgeDetector; -import org.marvinproject.image.halftone.dithering.Dithering; -import org.marvinproject.image.statistical.maximum.Maximum; -import org.marvinproject.image.statistical.minimum.Minimum; -import org.marvinproject.image.transform.flip.Flip; - -/** - * Using filters with video. - * @author Gabriel Ambrosio Archanjo - */ -public class VideoFilters extends JFrame implements Runnable{ - - // GUI - private JPanel panelButton, - panelWest, - panelLabels, - panelCenter; - - private JButton buttonPlayStop, - buttonNormal, - buttonPluginGray, - buttonPluginSepia, - buttonPluginInvert, - buttonPluginPixelize, - buttonThresholding, - buttonPluginHalftone, - buttonPluginMinimum, - buttonPluginMaximum, - buttonPluginFlip, - buttonPluginTelevision, - buttonPluginEdgeDetector, - buttonPluginDifference, - buttonRect; - - private JLabel labelCurrentPlugin, - labelFPS; - - private MarvinImagePanel videoPanel; - - private MarvinImage imageIn; - private MarvinImage imageOut; - private MarvinImage imageLastFrame; - private MarvinImageMask imageMask, - imageMaskRect; - - private Thread thread; - - private MarvinImagePlugin pluginImage; - - private int cameraWidth, - cameraHeight; - - private boolean playing; - private boolean rect; - - private MarvinVideoInterface videoInterface; - - public VideoFilters(){ - try{ - videoInterface = new MarvinJavaCVAdapter(); - videoInterface.connect(1); - - videoPanel = new MarvinImagePanel(); - cameraWidth = videoInterface.getImageWidth(); - cameraHeight = videoInterface.getImageHeight(); - - imageOut = new MarvinImage(cameraWidth, cameraHeight); - - imageLastFrame = new MarvinImage(cameraWidth,cameraHeight); - imageMask = MarvinImageMask.NULL_MASK; - imageMaskRect = new MarvinImageMask(cameraWidth,cameraHeight,cameraWidth/4,cameraHeight/4,cameraWidth/2,cameraHeight/2); - rect = false; - - loadGUI(); - - thread = new Thread(this); - thread.start(); - playing = true; - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - private void loadGUI(){ - setTitle("Video Sample - Filters"); - // Labels - labelCurrentPlugin = new JLabel("Current plug-in: none"); - labelFPS = new JLabel("FPS: "); - - // Buttons - ButtonHandler l_handler = new ButtonHandler(); - buttonPlayStop = new JButton("Stop"); - buttonNormal = new JButton("Normal"); - buttonPluginGray = new JButton("Gray Scale"); - buttonPluginSepia = new JButton("Sepia"); - buttonPluginInvert = new JButton("Invert Colors"); - buttonPluginPixelize = new JButton("Pixelize"); - buttonThresholding = new JButton("Thresholding"); - buttonPluginHalftone = new JButton("Halftone"); - buttonPluginMinimum = new JButton("Minimum"); - buttonPluginMaximum = new JButton("Maximum"); - buttonPluginFlip = new JButton("Flip"); - buttonPluginTelevision = new JButton("Television"); - buttonPluginEdgeDetector = new JButton("Edge Detector"); - buttonPluginDifference = new JButton("Difference"); - buttonRect = new JButton("Create Rect"); - - buttonPlayStop.addActionListener(l_handler); - buttonPluginGray.addActionListener(l_handler); - buttonNormal.addActionListener(l_handler); - buttonPluginSepia.addActionListener(l_handler); - buttonPluginInvert.addActionListener(l_handler); - buttonPluginPixelize.addActionListener(l_handler); - buttonThresholding.addActionListener(l_handler); - buttonPluginHalftone.addActionListener(l_handler); - buttonPluginMinimum.addActionListener(l_handler); - buttonPluginMaximum.addActionListener(l_handler); - buttonPluginFlip.addActionListener(l_handler); - buttonPluginTelevision.addActionListener(l_handler); - buttonPluginEdgeDetector.addActionListener(l_handler); - buttonPluginDifference.addActionListener(l_handler); - buttonRect.addActionListener(l_handler); - - // Panels - panelButton = new JPanel(); - panelButton.add(buttonRect); - panelButton.add(buttonPlayStop); - - panelWest = new JPanel(); - panelWest.setLayout(new GridLayout(15,1)); - panelWest.add(buttonNormal); - panelWest.add(buttonPluginGray); - panelWest.add(buttonPluginSepia); - panelWest.add(buttonPluginInvert); - panelWest.add(buttonPluginPixelize); - panelWest.add(buttonThresholding); - panelWest.add(buttonPluginHalftone); - panelWest.add(buttonPluginMinimum); - panelWest.add(buttonPluginMaximum); - panelWest.add(buttonPluginFlip); - panelWest.add(buttonPluginTelevision); - panelWest.add(buttonPluginEdgeDetector); - panelWest.add(buttonPluginDifference); - - panelLabels = new JPanel(new FlowLayout(FlowLayout.LEFT)); - panelLabels.add(labelFPS); - panelLabels.add(labelCurrentPlugin); - - panelCenter = new JPanel(new BorderLayout()); - panelCenter.add(videoPanel, BorderLayout.NORTH); - panelCenter.add(panelLabels, BorderLayout.CENTER); - panelCenter.add(panelButton, BorderLayout.SOUTH); - - - Container container = getContentPane(); - container.setLayout(new BorderLayout()); - container.add(panelCenter, BorderLayout.CENTER); - container.add(panelWest, BorderLayout.WEST); - - setSize(cameraWidth+125,cameraHeight+85); - setResizable(false); - setVisible(true); - } - - public void run(){ - long time = System.currentTimeMillis(); - int ticks=0; - - try{ - while(true){ - if(playing) - { - ticks++; - - if(System.currentTimeMillis() - time > 1000){ - labelFPS.setText("FPS: "+ticks+" "); - ticks=0; - time = System.currentTimeMillis(); - } - - imageIn = videoInterface.getFrame(); - MarvinImage.copyColorArray(imageIn, imageOut); - - if(pluginImage == null || rect){ - MarvinImage.copyColorArray(imageIn, imageOut); - } - - if(pluginImage != null){ - pluginImage.process(imageIn, imageOut, null, imageMask, false); - } - imageOut.update(); - videoPanel.setImage(imageOut); - } - } - } - catch(MarvinVideoInterfaceException e){ - e.printStackTrace(); - } - } - - public static void main(String[] args) { - VideoFilters l_vs = new VideoFilters(); - l_vs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - private class ButtonHandler implements ActionListener{ - public void actionPerformed(ActionEvent a_event){ - if(a_event.getSource() == buttonPlayStop){ - if(playing){ - playing = false; - buttonPlayStop.setText("Play"); - } - else{ - playing = true; - buttonPlayStop.setText("Stop"); - } - } - else if(a_event.getSource() == buttonNormal){ - pluginImage = null; - labelCurrentPlugin.setText("Current plug-in: none"); - } - else if(a_event.getSource() == buttonPluginGray){ - pluginImage = new GrayScale(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Gray Scale"); - } - else if(a_event.getSource() == buttonPluginSepia){ - pluginImage = new Sepia(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Sepia"); - } - else if(a_event.getSource() == buttonPluginInvert){ - pluginImage = new Invert(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Negative"); - } - else if(a_event.getSource() == buttonPluginPixelize){ - pluginImage = new Pixelize(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Pixelize"); - } - else if(a_event.getSource() == buttonThresholding){ - pluginImage = new Thresholding(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Thresholding"); - } - else if(a_event.getSource() == buttonPluginHalftone){ - pluginImage = new Dithering(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Halftone"); - } - else if(a_event.getSource() == buttonPluginMinimum){ - pluginImage = new Minimum(); - pluginImage.load(); - pluginImage.setAttribute("size", 2); - labelCurrentPlugin.setText("Current plug-in: Minimum"); - } - else if(a_event.getSource() == buttonPluginMaximum){ - pluginImage = new Maximum(); - pluginImage.load(); - pluginImage.setAttribute("size", 2); - labelCurrentPlugin.setText("Current plug-in: Maximum"); - } - else if(a_event.getSource() == buttonPluginFlip){ - pluginImage = new Flip(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Flip"); - } - else if(a_event.getSource() == buttonPluginTelevision){ - pluginImage = new Television(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Television"); - } - else if(a_event.getSource() == buttonPluginEdgeDetector){ - pluginImage = new EdgeDetector(); - pluginImage.load(); - labelCurrentPlugin.setText("Current plug-in: Edge Detector"); - } - else if(a_event.getSource() == buttonPluginDifference){ - pluginImage = new DifferenceColor(); - pluginImage.load(); - pluginImage.setAttribute("comparisonImage", imageLastFrame); - labelCurrentPlugin.setText("Current plug-in: Difference"); - } - else if(a_event.getSource() == buttonRect){ - if(rect){ - buttonRect.setText("Create Mask"); - imageMask = MarvinImageMask.NULL_MASK; - } - else{ - buttonRect.setText("Remove Mask"); - imageMask = imageMaskRect; - } - rect = !rect; - } - } - } -} \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/pom.xml b/pom.xml similarity index 64% rename from marvinproject/dev/MarvinFramework/pom.xml rename to pom.xml index f959925..fcfdc9a 100644 --- a/marvinproject/dev/MarvinFramework/pom.xml +++ b/pom.xml @@ -1,36 +1,35 @@ 4.0.0 - MarvinFramework - MarvinFramework - 1 - - - - - org.bytedeco - javacv-platform - 1.3 - - + net.marvinproject + marvin-framework + 2 + + - src - - - src - - **/*.java - - - + src/main/java maven-compiler-plugin 3.1 - 1.7 - 1.7 + 1.8 + 1.8 + + + + + org.bytedeco + javacv-platform + 1.3 + + + junit + junit + 4.7 + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/MarvinDefinitions.java b/src/main/java/net/marvinproject/framework/MarvinDefinitions.java similarity index 91% rename from marvinproject/dev/MarvinFramework/src/marvin/MarvinDefinitions.java rename to src/main/java/net/marvinproject/framework/MarvinDefinitions.java index c199311..3127575 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/MarvinDefinitions.java +++ b/src/main/java/net/marvinproject/framework/MarvinDefinitions.java @@ -9,10 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin; +package net.marvinproject.framework; public class MarvinDefinitions{ - public static String PLUGIN_IMAGE_PATH = "./marvin/plugins/image/"; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColor.java b/src/main/java/net/marvinproject/framework/color/MarvinColor.java similarity index 99% rename from marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColor.java rename to src/main/java/net/marvinproject/framework/color/MarvinColor.java index f6cbb15..da2d9d9 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColor.java +++ b/src/main/java/net/marvinproject/framework/color/MarvinColor.java @@ -1,4 +1,4 @@ -package marvin.color; +package net.marvinproject.framework.color; import java.util.HashMap; import java.util.Map; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColorModelConverter.java b/src/main/java/net/marvinproject/framework/color/MarvinColorModelConverter.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColorModelConverter.java rename to src/main/java/net/marvinproject/framework/color/MarvinColorModelConverter.java index c58b3db..f519506 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/color/MarvinColorModelConverter.java +++ b/src/main/java/net/marvinproject/framework/color/MarvinColorModelConverter.java @@ -9,9 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.color; +package net.marvinproject.framework.color; -import marvin.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImage; /** * Image color model conversions. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinAttributesPanel.java b/src/main/java/net/marvinproject/framework/gui/MarvinAttributesPanel.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinAttributesPanel.java rename to src/main/java/net/marvinproject/framework/gui/MarvinAttributesPanel.java index a6ac15e..bd97f93 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinAttributesPanel.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinAttributesPanel.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.FlowLayout; import java.awt.LayoutManager; @@ -35,9 +35,9 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import marvin.gui.MarvinPluginWindowComponent.ComponentType; -import marvin.gui.component.MarvinMatrixPanel; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.gui.MarvinPluginWindowComponent.ComponentType; +import net.marvinproject.framework.gui.component.MarvinMatrixPanel; +import net.marvinproject.framework.util.MarvinAttributes; public class MarvinAttributesPanel extends Box{ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinEditableImagePanel.java b/src/main/java/net/marvinproject/framework/gui/MarvinEditableImagePanel.java similarity index 94% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinEditableImagePanel.java rename to src/main/java/net/marvinproject/framework/gui/MarvinEditableImagePanel.java index 173edf3..f66da71 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinEditableImagePanel.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinEditableImagePanel.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.Graphics; import java.awt.MouseInfo; @@ -17,9 +17,9 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinToolPlugin; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; +import net.marvinproject.framework.plugin.MarvinToolPlugin; /** * Panel to display and edit MarvinImages. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinFilterWindow.java b/src/main/java/net/marvinproject/framework/gui/MarvinFilterWindow.java similarity index 95% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinFilterWindow.java rename to src/main/java/net/marvinproject/framework/gui/MarvinFilterWindow.java index 32cdf4d..a165636 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinFilterWindow.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinFilterWindow.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.BorderLayout; import java.awt.Dimension; @@ -22,10 +22,10 @@ import javax.swing.JLabel; import javax.swing.JPanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinImagePlugin; -import marvin.plugin.MarvinPlugin; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; +import net.marvinproject.framework.plugin.MarvinImagePlugin; +import net.marvinproject.framework.plugin.MarvinPlugin; /** * Generic Window for filters. This window includes thumbnail, preview and reset support. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinImagePanel.java b/src/main/java/net/marvinproject/framework/gui/MarvinImagePanel.java similarity index 94% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinImagePanel.java rename to src/main/java/net/marvinproject/framework/gui/MarvinImagePanel.java index 44cfe18..4fdb067 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinImagePanel.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinImagePanel.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.Dimension; import java.awt.Graphics; @@ -17,8 +17,8 @@ import javax.swing.JPanel; -import marvin.image.MarvinImage; -import marvin.util.MarvinPluginHistory; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.util.MarvinPluginHistory; /** * Panel to display MarvinImages. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindow.java b/src/main/java/net/marvinproject/framework/gui/MarvinPluginWindow.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindow.java rename to src/main/java/net/marvinproject/framework/gui/MarvinPluginWindow.java index f59bbd1..d314ad9 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindow.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinPluginWindow.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.BorderLayout; import java.awt.Container; @@ -33,9 +33,9 @@ import javax.swing.JTextField; import javax.swing.SwingConstants; -import marvin.gui.MarvinPluginWindowComponent.ComponentType; -import marvin.gui.component.MarvinMatrixPanel; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.gui.MarvinPluginWindowComponent.ComponentType; +import net.marvinproject.framework.gui.component.MarvinMatrixPanel; +import net.marvinproject.framework.util.MarvinAttributes; /** * Generic Window for plug-ins. This window supports integrating Swing components diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindowComponent.java b/src/main/java/net/marvinproject/framework/gui/MarvinPluginWindowComponent.java similarity index 95% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindowComponent.java rename to src/main/java/net/marvinproject/framework/gui/MarvinPluginWindowComponent.java index ca23f4a..9bad3a3 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinPluginWindowComponent.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinPluginWindowComponent.java @@ -9,11 +9,11 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import javax.swing.JComponent; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.util.MarvinAttributes; /** * Generic component for PluginWindow. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinToolPanel.java b/src/main/java/net/marvinproject/framework/gui/MarvinToolPanel.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinToolPanel.java rename to src/main/java/net/marvinproject/framework/gui/MarvinToolPanel.java index 81f9521..40be5f5 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/MarvinToolPanel.java +++ b/src/main/java/net/marvinproject/framework/gui/MarvinToolPanel.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui; +package net.marvinproject.framework.gui; import java.awt.Cursor; import java.awt.Dimension; @@ -22,7 +22,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; -import marvin.plugin.MarvinToolPlugin; +import net.marvinproject.framework.plugin.MarvinToolPlugin; public class MarvinToolPanel extends JPanel{ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/gui/component/MarvinMatrixPanel.java b/src/main/java/net/marvinproject/framework/gui/component/MarvinMatrixPanel.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/gui/component/MarvinMatrixPanel.java rename to src/main/java/net/marvinproject/framework/gui/component/MarvinMatrixPanel.java index 6ac5834..e5788cc 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/gui/component/MarvinMatrixPanel.java +++ b/src/main/java/net/marvinproject/framework/gui/component/MarvinMatrixPanel.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.gui.component; +package net.marvinproject.framework.gui.component; import java.awt.FlowLayout; import java.awt.GridLayout; diff --git a/src/main/java/net/marvinproject/framework/gui/package.html b/src/main/java/net/marvinproject/framework/gui/package.html new file mode 100644 index 0000000..16d3e03 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/gui/package.html @@ -0,0 +1,5 @@ + + +Provides classes to manipulate interface components. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlob.java b/src/main/java/net/marvinproject/framework/image/MarvinBlob.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlob.java rename to src/main/java/net/marvinproject/framework/image/MarvinBlob.java index 02256e8..4a889fe 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlob.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinBlob.java @@ -1,4 +1,4 @@ -package marvin.image; +package net.marvinproject.framework.image; public class MarvinBlob { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlobSegment.java b/src/main/java/net/marvinproject/framework/image/MarvinBlobSegment.java similarity index 89% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlobSegment.java rename to src/main/java/net/marvinproject/framework/image/MarvinBlobSegment.java index deb0082..4df34eb 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinBlobSegment.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinBlobSegment.java @@ -1,4 +1,4 @@ -package marvin.image; +package net.marvinproject.framework.image; public class MarvinBlobSegment { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinContour.java b/src/main/java/net/marvinproject/framework/image/MarvinContour.java similarity index 83% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinContour.java rename to src/main/java/net/marvinproject/framework/image/MarvinContour.java index 60fd320..8ff9093 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinContour.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinContour.java @@ -1,9 +1,9 @@ -package marvin.image; +package net.marvinproject.framework.image; import java.util.ArrayList; import java.util.List; -import marvin.math.Point; +import net.marvinproject.framework.math.Point; public class MarvinContour { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImage.java b/src/main/java/net/marvinproject/framework/image/MarvinImage.java similarity index 99% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImage.java rename to src/main/java/net/marvinproject/framework/image/MarvinImage.java index 5960491..2f55ff8 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImage.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinImage.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.image; +package net.marvinproject.framework.image; import java.awt.Color; import java.awt.Graphics2D; @@ -17,7 +17,7 @@ import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; -import marvin.color.MarvinColorModelConverter; +import net.marvinproject.framework.color.MarvinColorModelConverter; /** * Image object with many operations. This class is the image diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMap.java b/src/main/java/net/marvinproject/framework/image/MarvinImageMap.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMap.java rename to src/main/java/net/marvinproject/framework/image/MarvinImageMap.java index 22b262c..c90ebcf 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMap.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinImageMap.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.image; +package net.marvinproject.framework.image; /** * Map with an id/class/weight for earch pixel diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMask.java b/src/main/java/net/marvinproject/framework/image/MarvinImageMask.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMask.java rename to src/main/java/net/marvinproject/framework/image/MarvinImageMask.java index f5cb431..7d6cf83 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinImageMask.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinImageMask.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.image; +package net.marvinproject.framework.image; /** * Mask indicating what pixels must be processed. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinSegment.java b/src/main/java/net/marvinproject/framework/image/MarvinSegment.java similarity index 95% rename from marvinproject/dev/MarvinFramework/src/marvin/image/MarvinSegment.java rename to src/main/java/net/marvinproject/framework/image/MarvinSegment.java index 697da65..67b0184 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/image/MarvinSegment.java +++ b/src/main/java/net/marvinproject/framework/image/MarvinSegment.java @@ -1,4 +1,4 @@ -package marvin.image; +package net.marvinproject.framework.image; import java.awt.Point; import java.util.List; diff --git a/src/main/java/net/marvinproject/framework/image/package.html b/src/main/java/net/marvinproject/framework/image/package.html new file mode 100644 index 0000000..5bc2604 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/image/package.html @@ -0,0 +1,5 @@ + + +Provides classes to manipulate images. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/io/MarvinImageIO.java b/src/main/java/net/marvinproject/framework/io/MarvinImageIO.java similarity index 95% rename from marvinproject/dev/MarvinFramework/src/marvin/io/MarvinImageIO.java rename to src/main/java/net/marvinproject/framework/io/MarvinImageIO.java index 8fc6b82..a5735e8 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/io/MarvinImageIO.java +++ b/src/main/java/net/marvinproject/framework/io/MarvinImageIO.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.io; +package net.marvinproject.framework.io; import java.awt.image.BufferedImage; import java.io.File; @@ -21,8 +21,8 @@ import javax.imageio.event.IIOReadWarningListener; import javax.imageio.stream.ImageInputStream; -import marvin.image.MarvinImage; -import marvin.util.MarvinErrorHandler; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.util.MarvinErrorHandler; /** * Methods to load and save images. diff --git a/src/main/java/net/marvinproject/framework/io/package.html b/src/main/java/net/marvinproject/framework/io/package.html new file mode 100644 index 0000000..f125c5c --- /dev/null +++ b/src/main/java/net/marvinproject/framework/io/package.html @@ -0,0 +1,5 @@ + + +Input/Ouput operations + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTree.java b/src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTree.java similarity index 81% rename from marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTree.java rename to src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTree.java index 1167a77..7037908 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTree.java +++ b/src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTree.java @@ -1,9 +1,11 @@ -package marvin.machinelearning.decisiontree; +package net.marvinproject.framework.machinelearning.decisiontree; +import java.io.File; +import java.net.URI; import java.util.Map; -import marvin.util.MarvinFileUtils; -import marvin.util.MarvinStringParser; +import net.marvinproject.framework.util.MarvinFileUtils; +import net.marvinproject.framework.util.MarvinStringParser; public class DecisionTree { @@ -55,7 +57,7 @@ private void parseNode(DecisionTreeNode parent, MarvinStringParser parser, int l parser.incPosition(1); String cond = parser.getNext(new char[]{' ', '\n', ':'}); parser.incPosition(1); - String val = parser.getNext(new char[]{' ', '\n', ':'}); + String val = parser.getNext(new char[]{'\n', ':'}); if(cond == null || cond.equals("")){ return; @@ -100,4 +102,10 @@ private static boolean isStringNumeric(String str) { } return true; } + + public static void main(String[] args) { + File file = new File(URI.create("file:///onex/mlmodels/ingredient_classification_2.txt")); + DecisionTree tree = new DecisionTree(); + tree.parseWeka(file.getAbsolutePath()); + } } diff --git a/marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTreeNode.java b/src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTreeNode.java similarity index 89% rename from marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTreeNode.java rename to src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTreeNode.java index 7ca2ac3..5a51583 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/machinelearning/decisiontree/DecisionTreeNode.java +++ b/src/main/java/net/marvinproject/framework/machinelearning/decisiontree/DecisionTreeNode.java @@ -1,4 +1,4 @@ -package marvin.machinelearning.decisiontree; +package net.marvinproject.framework.machinelearning.decisiontree; import java.util.ArrayList; @@ -44,7 +44,7 @@ private CONDITION getCondition(String cond){ if("<=".equals(cond)) return CONDITION.LTE; if(">".equals(cond)) return CONDITION.GT; if(">=".equals(cond)) return CONDITION.GTE; - if("==".equals(cond)) return CONDITION.EQ; + if("=".equals(cond)) return CONDITION.EQ; if("!=".equals(cond)) return CONDITION.NEQ; return null; } @@ -122,10 +122,15 @@ public boolean eval(String attr, Map map){ Object sValue = map.get(attr); + if(sValue == null){ + throw new RuntimeException(attr+" is null"); + } + if(isNumber(sValue)){ return evalNumeric(attr, sValue); + } else{ + return evalText(attr, sValue); } - return false; } private boolean evalNumeric(String attr, Object sValue){ @@ -144,6 +149,13 @@ private boolean evalNumeric(String attr, Object sValue){ return false; } + private boolean evalText(String attr, Object sValue){ + String s1 = sValue.toString().trim(); + String s2 = ((String)value).trim(); + + return s1.equals(s2); + } + private Double getNumeric(Object sValue){ if(sValue.getClass() == Double.class){ return ((Double)sValue); diff --git a/marvinproject/dev/MarvinFramework/src/marvin/math/MarvinMath.java b/src/main/java/net/marvinproject/framework/math/MarvinMath.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/math/MarvinMath.java rename to src/main/java/net/marvinproject/framework/math/MarvinMath.java index 65db3e7..565e470 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/math/MarvinMath.java +++ b/src/main/java/net/marvinproject/framework/math/MarvinMath.java @@ -1,4 +1,4 @@ -package marvin.math; +package net.marvinproject.framework.math; import java.util.List; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/math/Point.java b/src/main/java/net/marvinproject/framework/math/Point.java similarity index 87% rename from marvinproject/dev/MarvinFramework/src/marvin/math/Point.java rename to src/main/java/net/marvinproject/framework/math/Point.java index ace4d26..f8e1620 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/math/Point.java +++ b/src/main/java/net/marvinproject/framework/math/Point.java @@ -1,4 +1,4 @@ -package marvin.math; +package net.marvinproject.framework.math; public class Point { diff --git a/src/main/java/net/marvinproject/framework/package.html b/src/main/java/net/marvinproject/framework/package.html new file mode 100644 index 0000000..6b516a5 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/package.html @@ -0,0 +1,5 @@ + + +Framework´s root package. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEntry.java b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEntry.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEntry.java rename to src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEntry.java index 82eeac2..2519a34 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEntry.java +++ b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEntry.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.performance; +package net.marvinproject.framework.performance; import java.util.LinkedList; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEvent.java b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEvent.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEvent.java rename to src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEvent.java index 8b0fe2b..b10e096 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceEvent.java +++ b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceEvent.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.performance; +package net.marvinproject.framework.performance; /** * Algorithms can be divided in events, each event store your own attributes for future analysis. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceMeter.java b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceMeter.java similarity index 99% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceMeter.java rename to src/main/java/net/marvinproject/framework/performance/MarvinPerformanceMeter.java index be27fd0..ea52285 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceMeter.java +++ b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceMeter.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.performance; +package net.marvinproject.framework.performance; import java.awt.BorderLayout; import java.awt.event.ActionEvent; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceRegistry.java b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceRegistry.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceRegistry.java rename to src/main/java/net/marvinproject/framework/performance/MarvinPerformanceRegistry.java index 042823b..1aa1a1c 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceRegistry.java +++ b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceRegistry.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.performance; +package net.marvinproject.framework.performance; import java.util.LinkedList; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceWindow.java b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceWindow.java similarity index 95% rename from marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceWindow.java rename to src/main/java/net/marvinproject/framework/performance/MarvinPerformanceWindow.java index e1b4162..182877f 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/performance/MarvinPerformanceWindow.java +++ b/src/main/java/net/marvinproject/framework/performance/MarvinPerformanceWindow.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.performance; +package net.marvinproject.framework.performance; import java.awt.BorderLayout; import java.awt.Color; @@ -21,8 +21,8 @@ import javax.swing.JLabel; import javax.swing.JPanel; -import marvin.statistic.MarvinBarChart; -import marvin.statistic.MarvinBarChartEntry; +import net.marvinproject.framework.statistic.MarvinBarChart; +import net.marvinproject.framework.statistic.MarvinBarChartEntry; /** * Window to show statistic information. The events attributes and diff --git a/src/main/java/net/marvinproject/framework/performance/package.html b/src/main/java/net/marvinproject/framework/performance/package.html new file mode 100644 index 0000000..915d61a --- /dev/null +++ b/src/main/java/net/marvinproject/framework/performance/package.html @@ -0,0 +1,5 @@ + + +Provide classes to measure, analyze and compare plug-ins performances. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractAlgorithmPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractAlgorithmPlugin.java similarity index 72% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractAlgorithmPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinAbstractAlgorithmPlugin.java index ebbb300..d137233 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractAlgorithmPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractAlgorithmPlugin.java @@ -1,4 +1,4 @@ -package marvin.plugin; +package net.marvinproject.framework.plugin; public abstract class MarvinAbstractAlgorithmPlugin extends MarvinAbstractPlugin implements MarvinAlgorithmPlugin{ } diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractImagePlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractImagePlugin.java similarity index 87% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractImagePlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinAbstractImagePlugin.java index b7e6d16..58da785 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractImagePlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractImagePlugin.java @@ -9,14 +9,14 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; import java.util.List; -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.gui.MarvinImagePanel; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; +import net.marvinproject.framework.util.MarvinAttributes; public abstract class MarvinAbstractImagePlugin extends MarvinAbstractPlugin implements MarvinImagePlugin { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractPlugin.java similarity index 94% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinAbstractPlugin.java index 18c620b..c985c39 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractPlugin.java @@ -9,9 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.util.MarvinAttributes; public abstract class MarvinAbstractPlugin implements MarvinPlugin{ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractToolPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractToolPlugin.java similarity index 90% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractToolPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinAbstractToolPlugin.java index a551f07..bece3de 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAbstractToolPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinAbstractToolPlugin.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; import java.awt.Image; import java.awt.Point; @@ -18,8 +18,8 @@ import javax.swing.ImageIcon; -import marvin.gui.MarvinImagePanel; -import marvin.gui.MarvinPluginWindow; +import net.marvinproject.framework.gui.MarvinImagePanel; +import net.marvinproject.framework.gui.MarvinPluginWindow; public abstract class MarvinAbstractToolPlugin extends MarvinAbstractPlugin implements MarvinToolPlugin{ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAlgorithmPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinAlgorithmPlugin.java similarity index 51% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAlgorithmPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinAlgorithmPlugin.java index 80aefc0..669f07d 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinAlgorithmPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinAlgorithmPlugin.java @@ -1,6 +1,6 @@ -package marvin.plugin; +package net.marvinproject.framework.plugin; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.util.MarvinAttributes; public interface MarvinAlgorithmPlugin extends MarvinPlugin { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinImagePlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinImagePlugin.java similarity index 84% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinImagePlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinImagePlugin.java index 9a186d7..5d929dd 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinImagePlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinImagePlugin.java @@ -9,15 +9,15 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; import java.util.List; -import marvin.gui.MarvinAttributesPanel; -import marvin.gui.MarvinImagePanel; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.gui.MarvinAttributesPanel; +import net.marvinproject.framework.gui.MarvinImagePanel; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; +import net.marvinproject.framework.util.MarvinAttributes; public interface MarvinImagePlugin extends MarvinPlugin { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinPlugin.java similarity index 94% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinPlugin.java index 8984d58..f14c975 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinPlugin.java @@ -9,9 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.util.MarvinAttributes; /** * Generic Marvin Plug-in. All application plug-ins must be implement this interface. Currently, diff --git a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinToolPlugin.java b/src/main/java/net/marvinproject/framework/plugin/MarvinToolPlugin.java similarity index 84% rename from marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinToolPlugin.java rename to src/main/java/net/marvinproject/framework/plugin/MarvinToolPlugin.java index 163f6c8..2fa0ca4 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/plugin/MarvinToolPlugin.java +++ b/src/main/java/net/marvinproject/framework/plugin/MarvinToolPlugin.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.plugin; +package net.marvinproject.framework.plugin; import java.awt.Graphics; import java.awt.Image; @@ -17,9 +17,9 @@ import javax.swing.ImageIcon; -import marvin.gui.MarvinPluginWindow; -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; +import net.marvinproject.framework.gui.MarvinPluginWindow; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; public interface MarvinToolPlugin extends MarvinPlugin{ diff --git a/src/main/java/net/marvinproject/framework/plugin/package.html b/src/main/java/net/marvinproject/framework/plugin/package.html new file mode 100644 index 0000000..a1863b6 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/plugin/package.html @@ -0,0 +1,5 @@ + + +Provides classes and interfaces to create plug-ins. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChart.java b/src/main/java/net/marvinproject/framework/statistic/MarvinBarChart.java similarity index 99% rename from marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChart.java rename to src/main/java/net/marvinproject/framework/statistic/MarvinBarChart.java index 620bf7a..6b26569 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChart.java +++ b/src/main/java/net/marvinproject/framework/statistic/MarvinBarChart.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.statistic; +package net.marvinproject.framework.statistic; import java.awt.Color; import java.awt.Graphics; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChartEntry.java b/src/main/java/net/marvinproject/framework/statistic/MarvinBarChartEntry.java similarity index 94% rename from marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChartEntry.java rename to src/main/java/net/marvinproject/framework/statistic/MarvinBarChartEntry.java index 5f11beb..c3ac0e5 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinBarChartEntry.java +++ b/src/main/java/net/marvinproject/framework/statistic/MarvinBarChartEntry.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.statistic; +package net.marvinproject.framework.statistic; import java.awt.Color; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogram.java b/src/main/java/net/marvinproject/framework/statistic/MarvinHistogram.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogram.java rename to src/main/java/net/marvinproject/framework/statistic/MarvinHistogram.java index bb16ff8..ca9d55f 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogram.java +++ b/src/main/java/net/marvinproject/framework/statistic/MarvinHistogram.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.statistic; +package net.marvinproject.framework.statistic; import java.awt.Color; import java.awt.Graphics; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogramEntry.java b/src/main/java/net/marvinproject/framework/statistic/MarvinHistogramEntry.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogramEntry.java rename to src/main/java/net/marvinproject/framework/statistic/MarvinHistogramEntry.java index e1b8bd9..d54301c 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/statistic/MarvinHistogramEntry.java +++ b/src/main/java/net/marvinproject/framework/statistic/MarvinHistogramEntry.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.statistic; +package net.marvinproject.framework.statistic; import java.awt.Color; diff --git a/src/main/java/net/marvinproject/framework/statistic/package.html b/src/main/java/net/marvinproject/framework/statistic/package.html new file mode 100644 index 0000000..7d040af --- /dev/null +++ b/src/main/java/net/marvinproject/framework/statistic/package.html @@ -0,0 +1,5 @@ + + +Provides classes to create statistical charts. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/test/MarvinTestCase.java b/src/main/java/net/marvinproject/framework/test/MarvinTestCase.java similarity index 91% rename from marvinproject/dev/MarvinFramework/src/marvin/test/MarvinTestCase.java rename to src/main/java/net/marvinproject/framework/test/MarvinTestCase.java index a21221a..6b84949 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/test/MarvinTestCase.java +++ b/src/main/java/net/marvinproject/framework/test/MarvinTestCase.java @@ -9,13 +9,13 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.test; +package net.marvinproject.framework.test; import java.util.Arrays; import junit.framework.TestCase; -import marvin.image.MarvinImage; -import marvin.util.MarvinAttributes; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.util.MarvinAttributes; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThread.java b/src/main/java/net/marvinproject/framework/thread/MarvinThread.java similarity index 86% rename from marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThread.java rename to src/main/java/net/marvinproject/framework/thread/MarvinThread.java index 020ae20..7afea69 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThread.java +++ b/src/main/java/net/marvinproject/framework/thread/MarvinThread.java @@ -9,14 +9,12 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.thread; +package net.marvinproject.framework.thread; -import com.sun.xml.internal.bind.v2.TODO; - -import marvin.image.MarvinImage; -import marvin.image.MarvinImageMask; -import marvin.plugin.MarvinPlugin; -import marvin.plugin.MarvinImagePlugin; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImageMask; +import net.marvinproject.framework.plugin.MarvinImagePlugin; +import net.marvinproject.framework.plugin.MarvinPlugin; /** * Thread to process a segment or an entire image. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadEvent.java b/src/main/java/net/marvinproject/framework/thread/MarvinThreadEvent.java similarity index 87% rename from marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadEvent.java rename to src/main/java/net/marvinproject/framework/thread/MarvinThreadEvent.java index 076babf..05044a6 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadEvent.java +++ b/src/main/java/net/marvinproject/framework/thread/MarvinThreadEvent.java @@ -9,9 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.thread; +package net.marvinproject.framework.thread; -import marvin.plugin.MarvinPlugin; +import net.marvinproject.framework.plugin.MarvinPlugin; /** * Thread Event. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadListener.java b/src/main/java/net/marvinproject/framework/thread/MarvinThreadListener.java similarity index 90% rename from marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadListener.java rename to src/main/java/net/marvinproject/framework/thread/MarvinThreadListener.java index 627c992..da764c4 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/thread/MarvinThreadListener.java +++ b/src/main/java/net/marvinproject/framework/thread/MarvinThreadListener.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.thread; +package net.marvinproject.framework.thread; /** * Interface to listen thread events. diff --git a/src/main/java/net/marvinproject/framework/thread/package.html b/src/main/java/net/marvinproject/framework/thread/package.html new file mode 100644 index 0000000..3420202 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/thread/package.html @@ -0,0 +1,5 @@ + + +Provides classes and interfaces to manipulate images using multiple threads. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/ConverterUtil.java b/src/main/java/net/marvinproject/framework/util/ConverterUtil.java similarity index 97% rename from marvinproject/dev/MarvinFramework/src/marvin/util/ConverterUtil.java rename to src/main/java/net/marvinproject/framework/util/ConverterUtil.java index 61b4983..9060ec0 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/ConverterUtil.java +++ b/src/main/java/net/marvinproject/framework/util/ConverterUtil.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project @author Anshul Katta */ -package marvin.util; +package net.marvinproject.framework.util; import java.awt.image.BufferedImage; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinAttributes.java b/src/main/java/net/marvinproject/framework/util/MarvinAttributes.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinAttributes.java rename to src/main/java/net/marvinproject/framework/util/MarvinAttributes.java index cdf017b..1a21cdc 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinAttributes.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinAttributes.java @@ -9,11 +9,11 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; import java.util.LinkedHashMap; -import marvin.plugin.MarvinPlugin; +import net.marvinproject.framework.plugin.MarvinPlugin; /** * This class stores and manages plug-ins attributes and either diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinBoundingBox.java b/src/main/java/net/marvinproject/framework/util/MarvinBoundingBox.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinBoundingBox.java rename to src/main/java/net/marvinproject/framework/util/MarvinBoundingBox.java index 99e06ee..6f92d40 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinBoundingBox.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinBoundingBox.java @@ -1,6 +1,6 @@ -package marvin.util; +package net.marvinproject.framework.util; -import marvin.math.MarvinMath; +import net.marvinproject.framework.math.MarvinMath; public class MarvinBoundingBox { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinErrorHandler.java b/src/main/java/net/marvinproject/framework/util/MarvinErrorHandler.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinErrorHandler.java rename to src/main/java/net/marvinproject/framework/util/MarvinErrorHandler.java index 4185ff4..6ee0078 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinErrorHandler.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinErrorHandler.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; import java.security.InvalidParameterException; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileChooser.java b/src/main/java/net/marvinproject/framework/util/MarvinFileChooser.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileChooser.java rename to src/main/java/net/marvinproject/framework/util/MarvinFileChooser.java index 5df9ed1..50457ff 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileChooser.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinFileChooser.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; import java.awt.Component; import java.io.File; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileUtils.java b/src/main/java/net/marvinproject/framework/util/MarvinFileUtils.java similarity index 93% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileUtils.java rename to src/main/java/net/marvinproject/framework/util/MarvinFileUtils.java index d31f199..d104f6c 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinFileUtils.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinFileUtils.java @@ -1,4 +1,4 @@ -package marvin.util; +package net.marvinproject.framework.util; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinImageUtils.java b/src/main/java/net/marvinproject/framework/util/MarvinImageUtils.java similarity index 87% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinImageUtils.java rename to src/main/java/net/marvinproject/framework/util/MarvinImageUtils.java index 381e419..27e2cf1 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinImageUtils.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinImageUtils.java @@ -1,8 +1,8 @@ -package marvin.util; +package net.marvinproject.framework.util; import java.awt.Color; -import marvin.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImage; public class MarvinImageUtils { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinJarLoader.java b/src/main/java/net/marvinproject/framework/util/MarvinJarLoader.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinJarLoader.java rename to src/main/java/net/marvinproject/framework/util/MarvinJarLoader.java index 0d38aff..25e445f 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinJarLoader.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinJarLoader.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; import java.io.IOException; import java.io.InputStream; diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginHistory.java b/src/main/java/net/marvinproject/framework/util/MarvinPluginHistory.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginHistory.java rename to src/main/java/net/marvinproject/framework/util/MarvinPluginHistory.java index e15c687..64fe38c 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginHistory.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinPluginHistory.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; import java.awt.BorderLayout; import java.awt.Color; @@ -35,7 +35,7 @@ import javax.swing.ScrollPaneConstants; import javax.swing.ScrollPaneLayout; -import marvin.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImage; /** * Store all plug-ins used on an image. A strip image with all steps can be exported. diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginLoader.java b/src/main/java/net/marvinproject/framework/util/MarvinPluginLoader.java similarity index 88% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginLoader.java rename to src/main/java/net/marvinproject/framework/util/MarvinPluginLoader.java index b786f34..3e48bac 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinPluginLoader.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinPluginLoader.java @@ -9,11 +9,11 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.util; +package net.marvinproject.framework.util; -import marvin.MarvinDefinitions; -import marvin.plugin.MarvinPlugin; -import marvin.plugin.MarvinImagePlugin; +import net.marvinproject.framework.MarvinDefinitions; +import net.marvinproject.framework.plugin.MarvinImagePlugin; +import net.marvinproject.framework.plugin.MarvinPlugin; /** * Load plug-ins via MarvinJarLoader diff --git a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinStringParser.java b/src/main/java/net/marvinproject/framework/util/MarvinStringParser.java similarity index 98% rename from marvinproject/dev/MarvinFramework/src/marvin/util/MarvinStringParser.java rename to src/main/java/net/marvinproject/framework/util/MarvinStringParser.java index 184a7d3..a69f193 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/util/MarvinStringParser.java +++ b/src/main/java/net/marvinproject/framework/util/MarvinStringParser.java @@ -1,4 +1,4 @@ -package marvin.util; +package net.marvinproject.framework.util; public class MarvinStringParser { diff --git a/src/main/java/net/marvinproject/framework/util/package.html b/src/main/java/net/marvinproject/framework/util/package.html new file mode 100644 index 0000000..522e287 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/util/package.html @@ -0,0 +1,5 @@ + + +Utilities classes. + + \ No newline at end of file diff --git a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinJavaCVAdapter.java b/src/main/java/net/marvinproject/framework/video/MarvinJavaCVAdapter.java similarity index 96% rename from marvinproject/dev/MarvinFramework/src/marvin/video/MarvinJavaCVAdapter.java rename to src/main/java/net/marvinproject/framework/video/MarvinJavaCVAdapter.java index 2cd8843..8e73cc1 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinJavaCVAdapter.java +++ b/src/main/java/net/marvinproject/framework/video/MarvinJavaCVAdapter.java @@ -9,19 +9,19 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.video; +package net.marvinproject.framework.video; import java.awt.image.BufferedImage; import java.io.File; import java.nio.ByteBuffer; -import marvin.image.MarvinImage; -import marvin.util.ConverterUtil; - import org.bytedeco.javacpp.opencv_core.IplImage; import org.bytedeco.javacv.FrameGrabber; import org.bytedeco.javacv.OpenCVFrameGrabber; +import net.marvinproject.framework.image.MarvinImage; +import net.marvinproject.framework.util.ConverterUtil; + public class MarvinJavaCVAdapter implements MarvinVideoInterface{ diff --git a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterface.java b/src/main/java/net/marvinproject/framework/video/MarvinVideoInterface.java similarity index 89% rename from marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterface.java rename to src/main/java/net/marvinproject/framework/video/MarvinVideoInterface.java index b5adfa6..3f0e3cd 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterface.java +++ b/src/main/java/net/marvinproject/framework/video/MarvinVideoInterface.java @@ -9,9 +9,9 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.video; +package net.marvinproject.framework.video; -import marvin.image.MarvinImage; +import net.marvinproject.framework.image.MarvinImage; public interface MarvinVideoInterface { diff --git a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterfaceException.java b/src/main/java/net/marvinproject/framework/video/MarvinVideoInterfaceException.java similarity index 89% rename from marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterfaceException.java rename to src/main/java/net/marvinproject/framework/video/MarvinVideoInterfaceException.java index 68f4320..c358112 100644 --- a/marvinproject/dev/MarvinFramework/src/marvin/video/MarvinVideoInterfaceException.java +++ b/src/main/java/net/marvinproject/framework/video/MarvinVideoInterfaceException.java @@ -9,7 +9,7 @@ https://groups.google.com/forum/#!forum/marvin-project */ -package marvin.video; +package net.marvinproject.framework.video; public class MarvinVideoInterfaceException extends Exception{ diff --git a/src/main/java/net/marvinproject/framework/video/package.html b/src/main/java/net/marvinproject/framework/video/package.html new file mode 100644 index 0000000..544e3d6 --- /dev/null +++ b/src/main/java/net/marvinproject/framework/video/package.html @@ -0,0 +1,5 @@ + + +Provides classes to manipulate capturing devices. + + \ No newline at end of file