ssimsort 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +18 -0
- data/bin/ssimsort +7 -0
- data/lib/array.rb +16 -0
- data/lib/main.rb +51 -0
- data/pics/2013-01-06-192950.jpg +0 -0
- data/pics/2013-01-06-192955.jpg +0 -0
- data/pics/2013-01-06-225315.jpg +0 -0
- data/pics/2013-01-06-225325.jpg +0 -0
- data/pics/2013-01-06-225340.jpg +0 -0
- data/pics/2013-01-10-151030.jpg +0 -0
- data/pics/2013-01-10-151057.jpg +0 -0
- data/pics/2013-01-10-151318.jpg +0 -0
- data/pics/2013-01-10-151329.jpg +0 -0
- data/pics/2013-01-10-151333.jpg +0 -0
- data/pics/2013-01-10-151338.jpg +0 -0
- data/pics/2013-01-10-151343.jpg +0 -0
- data/pics/2013-01-10-151355.jpg +0 -0
- data/pics/2013-01-10-151359.jpg +0 -0
- data/pics/2013-01-10-151406.jpg +0 -0
- data/pics/2013-01-10-151411.jpg +0 -0
- data/pics/2013-01-10-151417.jpg +0 -0
- data/pics/2013-01-10-151426.jpg +0 -0
- data/pics/2013-01-10-151430.jpg +0 -0
- data/pics/2013-01-10-151434.jpg +0 -0
- data/pics/2013-01-14-172946.jpg +0 -0
- data/pics/2013-01-14-173030.jpg +0 -0
- data/pics/2013-01-14-173036.jpg +0 -0
- data/pics/2013-01-14-173044.jpg +0 -0
- data/pics/2013-01-14-173101.jpg +0 -0
- data/pics/2013-01-14-173112.jpg +0 -0
- data/pics/2013-01-14-173123.jpg +0 -0
- data/pics/2013-01-14-173144.jpg +0 -0
- data/pics/2013-01-14-173203.jpg +0 -0
- data/pics/2013-01-14-173210.jpg +0 -0
- data/pics/2013-01-14-173217.jpg +0 -0
- data/pics/2013-01-14-173222.jpg +0 -0
- data/pics/2013-01-14-173227.jpg +0 -0
- data/pics/2013-01-14-173231.jpg +0 -0
- data/pics/2013-01-14-173237.jpg +0 -0
- data/pics/2013-02-17-133343.jpg +0 -0
- data/pics/2013-02-17-133349.jpg +0 -0
- data/pics/2013-02-17-235428.jpg +0 -0
- data/pics/2013-02-17-235446.jpg +0 -0
- data/pics/2013-02-22-161810.jpg +0 -0
- data/pics/2013-02-22-161816.jpg +0 -0
- data/pics/2013-03-22-190446.jpg +0 -0
- data/pics/2013-03-22-190459.jpg +0 -0
- data/pics/2013-03-22-190505.jpg +0 -0
- data/pics/2013-03-22-190523.jpg +0 -0
- data/pics/2013-03-22-190528.jpg +0 -0
- data/pics/2013-03-22-190532.jpg +0 -0
- data/pics/2013-03-22-190538.jpg +0 -0
- data/pics/2013-03-22-190545.jpg +0 -0
- data/pics/2013-03-22-190549.jpg +0 -0
- data/pics/2013-03-22-190554.jpg +0 -0
- data/pics/2013-03-22-190558.jpg +0 -0
- data/pics/2013-03-22-190602.jpg +0 -0
- data/pics/2013-03-22-190614.jpg +0 -0
- data/pics/2013-03-22-191027.jpg +0 -0
- data/pics/2013-03-22-191040.jpg +0 -0
- data/pics/2013-03-22-191110.jpg +0 -0
- data/pics/2013-03-22-191117.jpg +0 -0
- data/pics/2013-03-22-191128.jpg +0 -0
- data/pics/2013-03-22-191134.jpg +0 -0
- data/pics/2013-03-24-012428.jpg +0 -0
- data/pics/2013-03-24-012443.jpg +0 -0
- data/pics/2013-04-07-120046.jpg +0 -0
- data/pics/2013-04-07-120106.jpg +0 -0
- data/pics/2013-04-16-190532.jpg +0 -0
- data/pics/2013-04-16-190538.jpg +0 -0
- data/pics/2013-04-16-190557.jpg +0 -0
- data/pics/2013-04-16-190612.jpg +0 -0
- data/pics/2013-04-16-193452.jpg +0 -0
- data/pics/2013-04-16-193504.jpg +0 -0
- data/pics/2013-04-16-193510.jpg +0 -0
- data/pics/2013-04-16-193521.jpg +0 -0
- data/pics/2013-04-16-193527.jpg +0 -0
- data/pics/2013-04-16-193534.jpg +0 -0
- data/pics/2013-04-18-092747.jpg +0 -0
- data/pics/2013-04-18-161934.jpg +0 -0
- data/pics/2013-04-19-190112.jpg +0 -0
- data/pics/2013-04-19-190118.jpg +0 -0
- data/pics/2013-04-19-190127.jpg +0 -0
- data/pics/2013-04-19-190132.jpg +0 -0
- data/pics/2013-04-19-190138.jpg +0 -0
- data/pics/2013-04-19-190143.jpg +0 -0
- data/pics/2013-04-19-190201.jpg +0 -0
- data/pics/2013-04-19-190213.jpg +0 -0
- data/pics/2013-04-19-190218.jpg +0 -0
- data/pics/2013-04-19-190227.jpg +0 -0
- data/pics/2013-04-19-190235.jpg +0 -0
- data/pics/2013-04-24-093729.jpg +0 -0
- data/pics/2013-04-24-093735.jpg +0 -0
- data/pics/2013-04-24-093740.jpg +0 -0
- data/pics/2013-05-02-094521.jpg +0 -0
- data/pics/2013-05-02-102928.jpg +0 -0
- data/pics/2013-05-02-102940.jpg +0 -0
- data/pics/2013-05-02-102947.jpg +0 -0
- data/pics/2013-05-07-182548.jpg +0 -0
- data/pics/2013-05-07-182555.jpg +0 -0
- data/pics/2013-05-07-182717.jpg +0 -0
- data/pics/2013-05-07-182723.jpg +0 -0
- data/pics/2013-05-07-182812.jpg +0 -0
- data/pics/2013-05-07-182834.jpg +0 -0
- data/pics/2013-05-07-183013.jpg +0 -0
- data/pics/2013-05-07-183018.jpg +0 -0
- data/pics/2013-05-07-183026.jpg +0 -0
- data/pics/2013-05-07-183058.jpg +0 -0
- data/pics/2013-05-10-215249.jpg +0 -0
- data/pics/2013-05-10-215258.jpg +0 -0
- data/pics/2013-06-05-014136.jpg +0 -0
- data/pics/2013-06-05-014156.jpg +0 -0
- data/pics/2013-06-05-014201.jpg +0 -0
- data/pics/2013-06-05-014206.jpg +0 -0
- data/pics/2013-06-05-014220.jpg +0 -0
- data/pics/2013-06-05-014240.jpg +0 -0
- data/pics/2013-06-05-014244.jpg +0 -0
- data/pics/2013-06-05-014251.jpg +0 -0
- data/pics/2013-06-05-014259.jpg +0 -0
- data/pics/2013-06-05-014306.jpg +0 -0
- data/pics/2013-06-05-014511.jpg +0 -0
- data/pics/2013-06-05-014516.jpg +0 -0
- data/pics/2013-06-05-014521.jpg +0 -0
- data/pics/2013-06-05-014527.jpg +0 -0
- data/pics/2013-06-05-014532.jpg +0 -0
- data/pics/2013-06-05-014545.jpg +0 -0
- data/pics/2013-06-05-014550.jpg +0 -0
- data/pics/2013-06-05-014603.jpg +0 -0
- data/pics/2013-06-05-014643.jpg +0 -0
- data/pics/2013-06-05-014649.jpg +0 -0
- data/pics/2013-06-05-014655.jpg +0 -0
- data/pics/2013-06-05-014703.jpg +0 -0
- data/pics/2013-06-05-014710.jpg +0 -0
- data/pics/2013-07-03-204458.jpg +0 -0
- data/pics/2013-07-03-204526.jpg +0 -0
- data/pics/2013-07-03-204820.jpg +0 -0
- data/pics/2013-07-03-204835.jpg +0 -0
- data/pics/2013-07-09-011236.jpg +0 -0
- data/pics/2013-07-09-011250.jpg +0 -0
- data/pics/2013-07-17-103839.jpg +0 -0
- data/pics/2013-07-17-103855.jpg +0 -0
- data/pics/2013-07-17-105643.jpg +0 -0
- data/pics/2013-07-17-110042.jpg +0 -0
- data/pics/2013-07-17-110347.jpg +0 -0
- data/pics/2013-07-17-110406.jpg +0 -0
- data/pics/2013-07-17-185222.jpg +0 -0
- data/pics/2013-07-29-201944.jpg +0 -0
- data/pics/2013-07-31-022916.jpg +0 -0
- data/pics/2013-08-01-082013.jpg +0 -0
- data/pics/2013-08-02-105438.jpg +0 -0
- data/pics/2013-08-02-105443.jpg +0 -0
- data/pics/2013-08-02-105449.jpg +0 -0
- data/pics/2013-08-02-170205.jpg +0 -0
- data/pics/2013-08-02-170547.jpg +0 -0
- data/pics/2013-08-02-170555.jpg +0 -0
- data/pics/2013-08-05-010634.jpg +0 -0
- data/pics/2013-08-05-010643.jpg +0 -0
- data/pics/2013-08-05-010652.jpg +0 -0
- data/pics/2013-08-05-010658.jpg +0 -0
- data/pics/2013-08-05-010705.jpg +0 -0
- data/pics/2013-08-06-143841.jpg +0 -0
- data/pics/2013-08-06-144418.jpg +0 -0
- data/pics/2013-08-06-144428.jpg +0 -0
- data/pics/2013-08-06-144443.jpg +0 -0
- data/pics/2013-08-06-144525.jpg +0 -0
- data/pics/2013-08-09-161656.jpg +0 -0
- data/pics/2013-08-09-161702.jpg +0 -0
- data/pics/2013-08-13-155524.jpg +0 -0
- data/pics/2013-08-21-231609.jpg +0 -0
- data/pics/2013-08-22-230303.jpg +0 -0
- data/pics/2013-08-22-230310.jpg +0 -0
- data/pics/2013-08-23-110559.jpg +0 -0
- data/pics/2013-09-04-121650.jpg +0 -0
- data/pics/2013-09-04-121657.jpg +0 -0
- data/pics/2013-09-04-121713.jpg +0 -0
- data/pics/2013-09-04-121758.jpg +0 -0
- data/pics/2013-09-04-121816.jpg +0 -0
- data/pics/2013-09-04-121839.jpg +0 -0
- data/pics/2013-09-05-152750.jpg +0 -0
- data/pics/2013-09-05-152829.jpg +0 -0
- data/pics/2013-09-05-152846.jpg +0 -0
- data/pics/2013-09-15-233945.jpg +0 -0
- data/pics/2013-09-15-234710.jpg +0 -0
- data/pics/2013-09-15-235245.jpg +0 -0
- data/pics/2013-09-16-000203.jpg +0 -0
- data/pics/2013-09-16-000207.jpg +0 -0
- data/pics/2013-09-16-000215.jpg +0 -0
- data/pics/2013-09-16-001005.jpg +0 -0
- data/pics/2013-09-16-001515.jpg +0 -0
- data/pics/2013-09-16-003202.jpg +0 -0
- data/pics/2013-09-18-115403 (1).jpg +0 -0
- data/pics/2013-09-18-115403.jpg +0 -0
- data/pics/2013-09-18-115404 (1).jpg +0 -0
- data/pics/2013-09-18-115404.jpg +0 -0
- data/pics/2013-09-18-115405 (1).jpg +0 -0
- data/pics/2013-09-18-115405 (2).jpg +0 -0
- data/pics/2013-09-18-115405.jpg +0 -0
- data/pics/2013-09-18-115407.jpg +0 -0
- data/pics/2013-09-18-115815.jpg +0 -0
- data/pics/2013-09-18-115822.jpg +0 -0
- data/pics/2013-09-18-115828.jpg +0 -0
- data/pics/2013-09-18-115833.jpg +0 -0
- data/pics/2013-09-18-124611.jpg +0 -0
- data/pics/2013-09-18-124616.jpg +0 -0
- data/pics/2013-09-18-124621.jpg +0 -0
- data/pics/2013-09-18-124650.jpg +0 -0
- data/pics/2013-09-18-124707.jpg +0 -0
- data/pics/2013-09-18-124714.jpg +0 -0
- data/pics/2013-09-21-184024.jpg +0 -0
- data/pics/2013-09-22-122715.jpg +0 -0
- data/pics/2013-09-28-153447.jpg +0 -0
- data/pics/2013-09-28-153458.jpg +0 -0
- data/pics/2013-09-28-153510.jpg +0 -0
- data/pics/2013-09-28-153520.jpg +0 -0
- data/pics/2013-09-28-153529.jpg +0 -0
- data/pics/2013-09-28-153535.jpg +0 -0
- data/pics/2013-09-29-131722.jpg +0 -0
- data/pics/2013-09-29-131728.jpg +0 -0
- data/pics/2013-09-29-131734.jpg +0 -0
- data/pics/2013-10-19-214859.jpg +0 -0
- data/pics/2013-10-21-183055.jpg +0 -0
- data/pics/2013-10-21-183103.jpg +0 -0
- data/pics/2013-10-21-183119.jpg +0 -0
- data/pics/2013-10-22-161908.jpg +0 -0
- data/pics/2013-10-22-180328.jpg +0 -0
- data/pics/2013-10-22-180333.jpg +0 -0
- data/pics/2013-10-22-180338.jpg +0 -0
- data/pics/2013-10-22-180343.jpg +0 -0
- data/pics/2013-10-22-180347.jpg +0 -0
- data/pics/2013-10-25-154155.jpg +0 -0
- data/pics/2013-10-25-154212.jpg +0 -0
- data/pics/2013-10-25-154217.jpg +0 -0
- data/pics/2013-10-25-154225.jpg +0 -0
- data/pics/2013-10-25-154238.jpg +0 -0
- data/pics/2013-10-25-154246.jpg +0 -0
- data/pics/2013-10-25-213812.jpg +0 -0
- data/pics/2013-10-26-234651.jpg +0 -0
- data/pics/2013-10-26-234655.jpg +0 -0
- data/pics/2013-10-26-234701.jpg +0 -0
- data/pics/2013-10-26-234713.jpg +0 -0
- data/pics/2013-10-26-234721.jpg +0 -0
- data/pics/2013-10-29-160443.jpg +0 -0
- data/pics/2013-10-29-160447.jpg +0 -0
- data/pics/2013-10-29-160451.jpg +0 -0
- data/pics/2013-10-29-160456.jpg +0 -0
- data/pics/2013-10-29-160511.jpg +0 -0
- data/pics/2013-10-30-122243.jpg +0 -0
- data/pics/2013-10-30-122252.jpg +0 -0
- data/pics/2013-10-30-122300.jpg +0 -0
- data/pics/2013-11-02-215843.jpg +0 -0
- data/pics/2013-11-02-215851.jpg +0 -0
- data/pics/2013-11-02-215942.jpg +0 -0
- data/pics/2013-11-02-220012.jpg +0 -0
- data/pics/2013-11-02-220017.jpg +0 -0
- data/pics/2013-11-02-220023.jpg +0 -0
- data/pics/2013-11-02-220029.jpg +0 -0
- data/pics/2013-11-02-220035.jpg +0 -0
- data/pics/2013-11-03-034514.jpg +0 -0
- data/pics/2013-11-03-034518.jpg +0 -0
- data/pics/2013-11-03-034543.jpg +0 -0
- data/pics/2013-11-03-034551.jpg +0 -0
- data/pics/2013-11-05-171053.jpg +0 -0
- data/pics/2013-11-05-171058.jpg +0 -0
- data/pics/2013-11-05-171108.jpg +0 -0
- data/pics/2013-11-05-171127.jpg +0 -0
- data/pics/2013-11-05-182642.jpg +0 -0
- data/pics/2013-11-05-182655.jpg +0 -0
- data/pics/2013-11-05-182730.jpg +0 -0
- data/pics/2013-11-05-182736.jpg +0 -0
- data/pics/2013-11-05-182855.jpg +0 -0
- data/pics/2013-11-05-182901.jpg +0 -0
- data/pics/2013-11-05-182906.jpg +0 -0
- data/pics/2013-11-05-182912.jpg +0 -0
- data/pics/2013-11-05-182921.jpg +0 -0
- data/pics/2013-11-05-182932.jpg +0 -0
- data/pics/2013-11-05-182940.jpg +0 -0
- data/pics/2013-11-05-182945.jpg +0 -0
- data/pics/2013-11-05-182950.jpg +0 -0
- data/pics/2013-11-05-183002.jpg +0 -0
- data/pics/2013-11-05-183009.jpg +0 -0
- data/pics/2013-11-05-183013.jpg +0 -0
- data/pics/2013-11-05-183018.jpg +0 -0
- data/pics/2013-11-05-183022.jpg +0 -0
- data/pics/2013-11-05-183027.jpg +0 -0
- data/pics/2013-11-05-183033.jpg +0 -0
- data/pics/2013-11-05-183037.jpg +0 -0
- data/pics/2013-11-05-183041.jpg +0 -0
- data/pics/2013-11-05-183107.jpg +0 -0
- data/pics/2013-11-05-183149.jpg +0 -0
- data/pics/2013-11-05-183154.jpg +0 -0
- data/pics/2013-11-05-183207.jpg +0 -0
- data/pics/2013-11-05-183210.jpg +0 -0
- data/pics/2013-11-05-183214.jpg +0 -0
- data/pics/2013-11-05-183219.jpg +0 -0
- data/pics/2013-11-05-183319.jpg +0 -0
- data/pics/2013-11-05-190310.jpg +0 -0
- data/pics/2013-11-05-190315.jpg +0 -0
- data/pics/2013-11-05-190332_1.jpg +0 -0
- data/pics/2013-11-05-190332_2.jpg +0 -0
- data/pics/2013-11-05-190332_3.jpg +0 -0
- data/pics/2013-11-05-190332_4.jpg +0 -0
- data/pics/2013-11-05-190356_1.jpg +0 -0
- data/pics/2013-11-05-190356_2.jpg +0 -0
- data/pics/2013-11-05-190356_3.jpg +0 -0
- data/pics/2013-11-05-190356_4.jpg +0 -0
- data/pics/2013-11-05-190506_1.jpg +0 -0
- data/pics/2013-11-05-190506_2.jpg +0 -0
- data/pics/2013-11-05-190515_1.jpg +0 -0
- data/pics/2013-11-05-190515_2.jpg +0 -0
- data/pics/2013-11-05-190515_3.jpg +0 -0
- data/pics/2013-11-05-190539_1.jpg +0 -0
- data/pics/2013-11-05-190539_2.jpg +0 -0
- data/pics/2013-11-05-190539_3.jpg +0 -0
- data/pics/2013-11-05-190539_4.jpg +0 -0
- data/pics/2013-11-05-190616_1.jpg +0 -0
- data/pics/2013-11-05-190616_2.jpg +0 -0
- data/pics/2013-11-05-190616_3.jpg +0 -0
- data/pics/2013-11-05-190616_4.jpg +0 -0
- data/pics/2013-11-05-190632_1.jpg +0 -0
- data/pics/2013-11-05-190632_2.jpg +0 -0
- data/pics/2013-11-05-190632_3.jpg +0 -0
- data/pics/2013-11-05-190632_4.jpg +0 -0
- data/pics/2013-11-05-190649_1.jpg +0 -0
- data/pics/2013-11-05-190649_2.jpg +0 -0
- data/pics/2013-11-10-031757.jpg +0 -0
- data/pics/2013-11-18-223011.jpg +0 -0
- data/pics/2013-11-18-223049.jpg +0 -0
- data/pics/2013-11-18-223056.jpg +0 -0
- data/pics/2013-11-18-223107.jpg +0 -0
- data/pics/2013-11-18-223120.jpg +0 -0
- data/pics/2013-11-20-192428.jpg +0 -0
- data/pics/2013-11-20-192440.jpg +0 -0
- data/pics/2013-11-21-130544.jpg +0 -0
- data/pics/2013-11-21-130602.jpg +0 -0
- data/pics/2013-11-21-130612.jpg +0 -0
- data/pics/2013-11-21-130618.jpg +0 -0
- data/pics/2013-11-21-130624.jpg +0 -0
- data/pics/2013-11-21-130630.jpg +0 -0
- data/pics/2013-11-21-130636.jpg +0 -0
- data/pics/Mah face.jpg +0 -0
- data/pics/balls.jpg +0 -0
- data/pics/cawkballs2.jpg +0 -0
- data/pics/cawkballz.jpg +0 -0
- data/pics/feet.jpg +0 -0
- data/pics/mah.jpg +0 -0
- data/pics/mahface2.jpg +0 -0
- data/ssimsort.gemspec +17 -0
- metadata +419 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 9d474e8a2b445d7be76008689d6a53fd569fe07d
|
|
4
|
+
data.tar.gz: 96310e969b9347869195bc45fa8ecebae19de4f9
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 3bc858ac61bf7db56e23a874e916f6c508aaee59a054795fb12cfd3cb4613c0ba05808976e6992d5fdc1db009a4eac61c57aaabb79a8b24f5026705a24976d5c
|
|
7
|
+
data.tar.gz: f3051dc4fe04deea95cf6ffdaaf1b3ea9ecd71dd37f112886c56ef0598d00fed43ecb768cbb101594fe8e839dfcb2c44b8ebd3c79f4eac88342fe4beccae5a3c
|
data/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#Ssimsort
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
*Requires* : RMagick
|
|
5
|
+
|
|
6
|
+
*Install ssimsort* :
|
|
7
|
+
|
|
8
|
+
~~~
|
|
9
|
+
gem install ssimsort
|
|
10
|
+
~~~
|
|
11
|
+
|
|
12
|
+
*Use ssim as an executable* :
|
|
13
|
+
|
|
14
|
+
~~~
|
|
15
|
+
$ ssim <INPUT>, <OUTPUT>, <TOLERANCE>
|
|
16
|
+
|
|
17
|
+
#Tolerance is a number between 0.0 and 1.0 that defines how similar the images you want to sort will be, 1.0 being the exact same image.
|
|
18
|
+
~~~
|
data/bin/ssimsort
ADDED
data/lib/array.rb
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class Array
|
|
2
|
+
|
|
3
|
+
def covariance
|
|
4
|
+
sx, sy, sp = 0.0, 0.0, 0.0
|
|
5
|
+
return sx if empty?
|
|
6
|
+
target = first.respond_to?(:to_ary) ? self :
|
|
7
|
+
self.class.new(size) { |i| [i + 1, at(i)] }
|
|
8
|
+
target.each { |x, y|
|
|
9
|
+
sx += x
|
|
10
|
+
sy += y
|
|
11
|
+
sp += x * y
|
|
12
|
+
}
|
|
13
|
+
(sp - sx * sy / size) / size
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
data/lib/main.rb
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
module SsimSort
|
|
4
|
+
|
|
5
|
+
root = File.expand_path("../..", __FILE__)
|
|
6
|
+
require "numeric_array"
|
|
7
|
+
require "#{root}/lib/array.rb"
|
|
8
|
+
require "RMagick"
|
|
9
|
+
require "fileutils"
|
|
10
|
+
include Magick
|
|
11
|
+
|
|
12
|
+
def SsimSort.cov(x,y)
|
|
13
|
+
return x.zip(y).covariance
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def SsimSort.get_lum(img,px=100)
|
|
18
|
+
img = img.scale(px,px)
|
|
19
|
+
lum_average = img.get_pixels(0, 0, img.columns, img.rows).map do |p|
|
|
20
|
+
p.to_HSL[2]
|
|
21
|
+
end
|
|
22
|
+
return lum_average
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def SsimSort.ssim(file1,file2)
|
|
27
|
+
cA,cB = 0, 0
|
|
28
|
+
x,y = get_lum(ImageList.new(file1)), get_lum(ImageList.new(file2))
|
|
29
|
+
var_x, var_y = x.variance, y.variance
|
|
30
|
+
moy_x, moy_y = x.mean, y.mean
|
|
31
|
+
a = (2*moy_x*moy_y+cA)*(2*(cov(x,y))+cB)
|
|
32
|
+
b = (moy_x**2+moy_y**2+cA)*(var_x+var_y+cB)
|
|
33
|
+
(a/b) < 0 ? 0 : (a/b).round(3)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def SsimSort.sort(input_path,output_path,tolerance=0.8)
|
|
38
|
+
formats = /(.jpg$|.png$|.JPG$|.PNG$|.gif$|.bmp$|.BMP$)/
|
|
39
|
+
files = Dir.entries(ARGV[0]).map {|file| File.absolute_path("#{ARGV[0]}/#{file}")}
|
|
40
|
+
files.select!{|f| formats=~ f}
|
|
41
|
+
set = files.combination(2).to_a
|
|
42
|
+
set.each do |file1,file2|
|
|
43
|
+
path = "#{ARGV[1]}/#{file1.split("/").last}/"
|
|
44
|
+
dir = FileUtils.makedirs(path) unless File.exists?(path)
|
|
45
|
+
simil = SsimSort.ssim(file1,file2)
|
|
46
|
+
simil < tolerance ? next : FileUtils.cp(file2,path)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|