Class: OpenCV::Cv::Scalar

Inherits:
Object
  • Object
show all
Extended by:
FFI::DataConverter
Includes:
Vecxd
Defined in:
lib/ropencv/ropencv_ruby.rb,
lib/ropencv/ropencv_types.rb

Constant Summary collapse

SIZE =
4

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Vecxd

#[]=, #to_a

Class Method Details

.all(_v0) ⇒ Cv::Scalar

Note:

wrapper for static method cv::Scalar cv::Scalar::all(double v0)

Parameters:

  • _v0 (Double)

Returns:



8432
8433
8434
# File 'lib/ropencv/ropencv_types.rb', line 8432

def self.all(_v0)
    Rbind::cv_scalar_all(_v0)
end

.scalarObject .scalar(_v0) ⇒ Object .scalar(_v0, _v1, _v2 = 0, _v3 = 0) ⇒ Object

Overloads:

  • .scalar(_v0) ⇒ Object

    Parameters:

    • _v0 (Double)
  • .scalar(_v0, _v1, _v2 = 0, _v3 = 0) ⇒ Object

    Parameters:

    • _v0 (Double)
    • _v1 (Double)
    • _v2 (Double) (defaults to: 0)
    • _v3 (Double) (defaults to: 0)

Raises:

  • (ArgumentError)


8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
# File 'lib/ropencv/ropencv_types.rb', line 8298

def self.new(*args)
    if args.first.is_a?(FFI::Pointer) || args.first.is_a?(ScalarStruct)
        raise ArgumentError, "too many arguments for creating #{self.name} from Pointer" unless args.size == 1
        return super(args.first)
    end
    # overloaded method wrapper for cv::Scalar::Scalar()
    @@cv_scalar_scalar_defaults0 ||= []
    if(args.size >= 0 && args.size <= 0)
        targs = args.clone
        targs.size.upto(-1) do |i|
            targs[i] = @@cv_scalar_scalar_defaults0[i]
        end
        begin
                return Rbind::cv_scalar_scalar(*targs)
        rescue TypeError => e
            @error = e
        end
    end

    # overloaded method wrapper for cv::Scalar::Scalar(double v0)
    @@cv_scalar_scalar2_defaults1 ||= [nil]
    if(args.size >= 1 && args.size <= 1)
        targs = args.clone
        targs.size.upto(0) do |i|
            targs[i] = @@cv_scalar_scalar2_defaults1[i]
        end
        begin
                return Rbind::cv_scalar_scalar2(*targs)
        rescue TypeError => e
            @error = e
        end
    end

    # overloaded method wrapper for cv::Scalar::Scalar(double v0, double v1, double v2 = 0, double v3 = 0)
    @@cv_scalar_scalar3_defaults2 ||= [nil, nil, 0, 0]
    if(args.size >= 2 && args.size <= 4)
        targs = args.clone
        targs.size.upto(3) do |i|
            targs[i] = @@cv_scalar_scalar3_defaults2[i]
        end
        begin
                return Rbind::cv_scalar_scalar3(*targs)
        rescue TypeError => e
            @error = e
        end
    end

    raise ArgumentError, "no constructor for #{self}(#{args.inspect})"
end

.nullObject

returns a null pointer to the object



8284
8285
8286
# File 'lib/ropencv/ropencv_types.rb', line 8284

def self.null
    new(ScalarStruct.new)
end

Instance Method Details

#[](elem) ⇒ Double

Note:

method wrapper for double cv::Scalar::operator

Parameters:

  • elem (Size_T)

Returns:

  • (Double)


8473
8474
8475
8476
# File 'lib/ropencv/ropencv_types.rb', line 8473

def [](elem)
    __validate_pointer__
    Rbind::cv_scalar_operator_array( self, elem)
end

#conjCv::Scalar

Note:

method wrapper for cv::Scalar cv::Scalar::conj()

Returns:



8452
8453
8454
8455
8456
8457
8458
8459
8460
# File 'lib/ropencv/ropencv_types.rb', line 8452

def conj()
    __validate_pointer__
    result = Rbind::cv_scalar_conj( self)
    if result.respond_to?(:__owner__?) && !result.__owner__?
    # store owner insight the pointer to not get garbage collected
        result.instance_variable_get(:@__obj_ptr__).instance_variable_set(:@__owner__,self) 
    end
    result
end

#is_realBool Also known as: isReal

Note:

method wrapper for bool cv::Scalar::isReal()

Returns:

  • (Bool)


8464
8465
8466
8467
# File 'lib/ropencv/ropencv_types.rb', line 8464

def is_real()
    __validate_pointer__
    Rbind::cv_scalar_is_real( self)
end

#mul(other, scale = 1) ⇒ Cv::Scalar

Note:

method wrapper for cv::Scalar cv::Scalar::mul(const cv::Scalar other, double scale = 1)

Parameters:

  • other (Cv::Scalar)
  • scale (Double) (defaults to: 1)

Returns:



8440
8441
8442
8443
8444
8445
8446
8447
8448
# File 'lib/ropencv/ropencv_types.rb', line 8440

def mul(other, scale = 1)
    __validate_pointer__
    result = Rbind::cv_scalar_mul( self, other, scale)
    if result.respond_to?(:__owner__?) && !result.__owner__?
    # store owner insight the pointer to not get garbage collected
        result.instance_variable_get(:@__obj_ptr__).instance_variable_set(:@__owner__,self) 
    end
    result
end

#to_sObject

converts Scalar into a string by crawling through all its attributes



8412
8413
8414
# File 'lib/ropencv/ropencv_types.rb', line 8412

def to_s
    "#<cv::Scalar val=#{self.val}>"
end

#valDouble Also known as: get_val

Note:

method wrapper for double* val

methods

Returns:

  • (Double)


8423
8424
8425
8426
# File 'lib/ropencv/ropencv_types.rb', line 8423

def val()
    __validate_pointer__
    Rbind::cv_scalar_get_val( self)
end