Module: Appium::Core::Base::Device::ImageComparison
- Included in:
- Bridge::MJSONWP, Bridge::W3C
- Defined in:
- lib/appium_lib_core/common/device/image_comparison.rb
Constant Summary collapse
- MODE =
[:matchFeatures, :getSimilarity, :matchTemplate].freeze
- MATCH_FEATURES =
{ detector_name: %w(AKAZE AGAST BRISK FAST GFTT KAZE MSER SIFT ORB), match_func: %w(FlannBased BruteForce BruteForceL1 BruteForceHamming BruteForceHammingLut BruteForceSL2), goodMatchesFactor: nil, # Integer visualize: [true, false] }.freeze
- MATCH_TEMPLATE =
{ visualize: [true, false] }.freeze
- GET_SIMILARITY =
{ visualize: [true, false] }.freeze
Instance Method Summary collapse
-
#compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) ⇒ Object
Performs images comparison using OpenCV framework features.
-
#find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil) ⇒ Object
Performs images matching by template to find possible occurrence of the partial image in the full image with default options.
-
#get_images_similarity(first_image:, second_image:, visualize: false) ⇒ Object
Performs images matching to calculate the similarity score between them with default options.
-
#match_images_features(first_image:, second_image:, detector_name: 'ORB', match_func: 'BruteForce', good_matches_factor: nil, visualize: false) ⇒ Object
class << self.
Instance Method Details
#compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) ⇒ Object
Performs images comparison using OpenCV framework features. It is expected that both OpenCV framework and opencv4nodejs module are installed on the machine where Appium server is running.
|
|
# File 'lib/appium_lib_core/common/device/image_comparison.rb', line 85
|
#find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil) ⇒ Object
Performs images matching by template to find possible occurrence of the partial image in the full image with default options. Read docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html for more details on this topic.
|
|
# File 'lib/appium_lib_core/common/device/image_comparison.rb', line 49
|
#get_images_similarity(first_image:, second_image:, visualize: false) ⇒ Object
Performs images matching to calculate the similarity score between them with default options. The flow there is similar to the one used in ‘find_image_occurrence` but it is mandatory that both images are of equal size.
|
|
# File 'lib/appium_lib_core/common/device/image_comparison.rb', line 68
|
#match_images_features(first_image:, second_image:, detector_name: 'ORB', match_func: 'BruteForce', good_matches_factor: nil, visualize: false) ⇒ Object
class << self
|
|
# File 'lib/appium_lib_core/common/device/image_comparison.rb', line 25
|