face_cropper 0.2.0 → 0.3.0
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
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9c89713391b5a27b50e98b92593bf3e8b2d75e25
         | 
| 4 | 
            +
              data.tar.gz: 3fc35625fb69b98d8eb7fd2df147e62ffa9a254e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9cc757c499d094dc49c1731fc2d9bd481c23eae51cd54ff433af746c239f65aa17189bfac7148cedb04112c7a25ed64ad8e8a4604881741a597b3e7d300f1534
         | 
| 7 | 
            +
              data.tar.gz: bd4ef21b9c51fdd4112704979c1c3601547885e099f36f9fa389c36bb47094db99e9b52cce94b6486e41324dd15e4219c624d450cdbcfc99b4770dd0ea78d048
         | 
    
        data/lib/face_cropper.rb
    CHANGED
    
    | @@ -9,9 +9,10 @@ class FaceCropper | |
| 9 9 | 
             
                @to_bucket   = params[:to_bucket]
         | 
| 10 10 | 
             
                @image_key   = params[:image_key]
         | 
| 11 11 | 
             
                @face_boxis  = params[:face_details]
         | 
| 12 | 
            +
                @region      = params[:region] || 'us-east-1'
         | 
| 12 13 | 
             
              end
         | 
| 13 14 |  | 
| 14 | 
            -
              def  | 
| 15 | 
            +
              def crop!
         | 
| 15 16 | 
             
                faces = @face_boxis || detect_faces!
         | 
| 16 17 |  | 
| 17 18 | 
             
                tmp_original_image_path = download_original_image!
         | 
| @@ -25,7 +26,7 @@ class FaceCropper | |
| 25 26 | 
             
              end
         | 
| 26 27 |  | 
| 27 28 | 
             
              def detect_faces!
         | 
| 28 | 
            -
                detector = AwsRekognitionFaceDetector.new(bucket: @from_bucket, image_key: @image_key)
         | 
| 29 | 
            +
                detector = AwsRekognitionFaceDetector.new(bucket: @from_bucket, image_key: @image_key, region: @region)
         | 
| 29 30 | 
             
                detector.dcetect!.tap {|r| debug_print(r) }
         | 
| 30 31 | 
             
              end
         | 
| 31 32 |  | 
| @@ -54,6 +55,6 @@ class FaceCropper | |
| 54 55 | 
             
              end
         | 
| 55 56 |  | 
| 56 57 | 
             
              def s3_client
         | 
| 57 | 
            -
                @s3_client ||= Aws::S3::Client.new(region:  | 
| 58 | 
            +
                @s3_client ||= Aws::S3::Client.new(region: @region)
         | 
| 58 59 | 
             
              end
         | 
| 59 60 | 
             
            end
         | 
| @@ -3,13 +3,14 @@ require 'pp' | |
| 3 3 |  | 
| 4 4 | 
             
            class FaceCropper
         | 
| 5 5 | 
             
              class AwsRekognitionFaceDetector
         | 
| 6 | 
            -
                def initialize(bucket:, image_key:)
         | 
| 6 | 
            +
                def initialize(bucket:, image_key:, region:)
         | 
| 7 7 | 
             
                  @bucket     = bucket
         | 
| 8 8 | 
             
                  @imaget_key = image_key
         | 
| 9 | 
            +
                  @region     = region
         | 
| 9 10 | 
             
                end
         | 
| 10 11 |  | 
| 11 12 | 
             
                def dcetect!
         | 
| 12 | 
            -
                  rekognition = Aws::Rekognition::Client.new(region:  | 
| 13 | 
            +
                  rekognition = Aws::Rekognition::Client.new(region: @region)
         | 
| 13 14 |  | 
| 14 15 | 
             
                  rekognition.detect_faces(
         | 
| 15 16 | 
             
                    image: {
         | 
| @@ -4,11 +4,12 @@ class FaceCropper | |
| 4 4 | 
             
              class FaceBox
         | 
| 5 5 | 
             
                attr_reader :top, :left, :height, :width
         | 
| 6 6 |  | 
| 7 | 
            -
                def initialize(top: , left: , height: , width:)
         | 
| 7 | 
            +
                def initialize(top: , left: , height: , width: , margin: 0)
         | 
| 8 8 | 
             
                  @top    = top
         | 
| 9 9 | 
             
                  @left   = left
         | 
| 10 10 | 
             
                  @height = height
         | 
| 11 11 | 
             
                  @width  = width
         | 
| 12 | 
            +
                  @margin = margin
         | 
| 12 13 | 
             
                end
         | 
| 13 14 |  | 
| 14 15 | 
             
                def crop_face!(image_path)
         | 
| @@ -26,10 +27,10 @@ class FaceCropper | |
| 26 27 |  | 
| 27 28 | 
             
                def calculate_position(image_width: , image_height:)
         | 
| 28 29 | 
             
                  {
         | 
| 29 | 
            -
                    width:  (@width  * image_width).to_i,
         | 
| 30 | 
            -
                    height: (@height * image.height).to_i,
         | 
| 31 | 
            -
                    x:      (@top | 
| 32 | 
            -
                    y:      (@left | 
| 30 | 
            +
                    width:  (@width  * image_width).to_i  + @margin,
         | 
| 31 | 
            +
                    height: (@height * image.height).to_i + @margin,
         | 
| 32 | 
            +
                    x:      [(@top   * image.height).to_i - @margin, 0].min,
         | 
| 33 | 
            +
                    y:      [(@left  * image.width).to_i  - @margin, 0].min
         | 
| 33 34 | 
             
                  }
         | 
| 34 35 | 
             
                end
         | 
| 35 36 | 
             
              end
         | 
    
        data/lib/face_cropper/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: face_cropper
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - takkanm
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-02- | 
| 11 | 
            +
            date: 2017-02-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aws-sdk
         |