ssimsort 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|