works but is slow

This commit is contained in:
Patrice Matz 2018-07-29 13:56:09 +02:00
parent 7fd1103d6c
commit f74eee4fba
6 changed files with 71 additions and 40 deletions

View File

@ -2,7 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="5d4ebe9a-78e7-4836-aff9-c6f6e8cd4a0d" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/collage.jpeg" afterPath="$PROJECT_DIR$/collage.jpeg" />
<change type="DELETED" beforePath="$PROJECT_DIR$/collage.jpeg" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/collage.jpg" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/combined.png" afterPath="$PROJECT_DIR$/combined.png" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/company/Main.java" afterPath="$PROJECT_DIR$/src/com/company/Main.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/company/chunk.java" afterPath="$PROJECT_DIR$/src/com/company/chunk.java" />
@ -17,11 +19,11 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
<file leaf-file-name="Main.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/company/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="620">
<caret line="80" column="9" lean-forward="false" selection-start-line="80" selection-start-column="9" selection-end-line="80" selection-end-column="9" />
<state relative-caret-position="1000">
<caret line="79" column="0" lean-forward="false" selection-start-line="79" selection-start-column="0" selection-end-line="79" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -29,7 +31,7 @@
</provider>
</entry>
</file>
<file leaf-file-name="combined.png" pinned="false" current-in-tab="false">
<file leaf-file-name="combined.png" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/combined.png">
<provider selected="true" editor-type-id="images">
<state />
@ -39,8 +41,8 @@
<file leaf-file-name="chunk.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/company/chunk.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1060">
<caret line="61" column="16" lean-forward="true" selection-start-line="61" selection-start-column="16" selection-end-line="61" selection-end-column="16" />
<state relative-caret-position="860">
<caret line="69" column="30" lean-forward="false" selection-start-line="69" selection-start-column="30" selection-end-line="69" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -105,6 +107,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="AndroidView" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
@ -128,9 +131,8 @@
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="AndroidView" />
<pane id="PackagesPane" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -203,12 +205,13 @@
<workItem from="1532606900745" duration="8000" />
<workItem from="1532607142184" duration="5258000" />
<workItem from="1532686237561" duration="4814000" />
<workItem from="1532774518082" duration="6753000" />
<workItem from="1532774518082" duration="6802000" />
<workItem from="1532860671468" duration="4660000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="20877000" />
<option name="totallyTimeSpent" value="25586000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@ -236,9 +239,8 @@
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32959184" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.112638816" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.11343205" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32944164" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@ -250,6 +252,7 @@
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32944164" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -263,6 +266,31 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/com/company/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1520">
<caret line="80" column="9" lean-forward="false" selection-start-line="80" selection-start-column="9" selection-end-line="80" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/chunk.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1020">
<caret line="61" column="16" lean-forward="true" selection-start-line="61" selection-start-column="16" selection-end-line="61" selection-end-column="16" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/combined.png">
<provider selected="true" editor-type-id="images">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@ -358,14 +386,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/Pair.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="140">
<caret line="7" column="27" lean-forward="false" selection-start-line="7" selection-start-column="27" selection-end-line="7" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/Pair.java" />
<entry file="file://$PROJECT_DIR$/collage.jpeg">
<provider selected="true" editor-type-id="images">
<state />
@ -378,8 +399,18 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/chunk.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1060">
<caret line="61" column="16" lean-forward="true" selection-start-line="61" selection-start-column="16" selection-end-line="61" selection-end-column="16" />
<state relative-caret-position="860">
<caret line="69" column="30" lean-forward="false" selection-start-line="69" selection-start-column="30" selection-end-line="69" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1000">
<caret line="79" column="0" lean-forward="false" selection-start-line="79" selection-start-column="0" selection-end-line="79" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -391,15 +422,5 @@
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/company/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="620">
<caret line="80" column="9" lean-forward="false" selection-start-line="80" selection-start-column="9" selection-end-line="80" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

After

Width:  |  Height:  |  Size: 12 MiB

View File

@ -16,8 +16,8 @@ public class Main {
ArrayList<String> repPaths = getAllImages(new File("C:\\Users\\Elliot\\Desktop\\test\\"));
int rows = 4;
int cols = 5;
int rows = 50;
int cols = 50;
int chunkWidth = image.getWidth() / cols; // determines the chunk width and height
int chunkHeight = image.getHeight() / rows;
@ -44,11 +44,12 @@ public class Main {
chunks[count-1].average();
}
}
System.out.println("splitting done");
//load replacement images into array
for (int i = 0; i < cols*rows; i++) {
// read file from path
// % (cols*rows) to fill array even if not enough images in rep. folder
File tempfile = new File(repPaths.get(i));
// % repPaths.size to fill array even if not enough images in rep. folder
File tempfile = new File(repPaths.get(i% repPaths.size()));
FileInputStream tempfis = new FileInputStream(tempfile);
// scale loaded image to fit chunk
@ -62,8 +63,9 @@ public class Main {
// fill array of chunks with read images
replacements[i] = new chunk(dimg);
System.out.println((i*100)/(cols*rows));
}
System.out.println("images loaded");
//for each chunk, calculate the euclidean distance to every possible replacement
for (int i = 0; i < cols*rows; i++) {
@ -72,6 +74,9 @@ public class Main {
for (int j = 0; j < cols*rows; j++) {
distances[j] = replacements[j].euclideanDistance(chunks[i].getAverage());
//int[] a = replacements[j].getAverage();
//int[] b = chunks[i].getAverage();
//System.out.println( a[0]+ " " + a[1]+ " " +a[2]+ " " + b[0]+ " " + b[1]+ " " +b[2] + " " + replacements[j].euclideanDistance(chunks[i].getAverage()));
}
minEuclid = getMinValue(distances);
@ -79,6 +84,7 @@ public class Main {
g.drawImage(replacements[minEuclid].getImg(), ((i%cols)*chunkWidth), ((i/cols)*chunkHeight), null);
}
System.out.println("done");
ImageIO.write(combined, "PNG", new File("combined.png"));
}
@ -117,7 +123,7 @@ public class Main {
index = i;
}
}
System.out.println(minValue);
//System.out.println(minValue);
return index;
}
}

View File

@ -63,7 +63,11 @@ public class chunk {
g /= pc;
b /= pc;
a /= pc;
int [] temprgb = new int[3];
temprgb[0] = r;
temprgb[1] = g;
temprgb[2] = b;
this.average= temprgb;
//System.out.println(r + " , " + g + " , " + b + " , " + a);
return new int[]{r,g,b,a};
}