QualityBRISQUE

Struct QualityBRISQUE 

Source
pub struct QualityBRISQUE { /* private fields */ }
Expand description

BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator) is a No Reference Image Quality Assessment (NR-IQA) algorithm.

BRISQUE computes a score based on extracting Natural Scene Statistics (https://en.wikipedia.org/wiki/Scene_statistics) and calculating feature vectors. See Mittal et al. Mittal2 for original paper and original implementation Mittal2_software .

A trained model is provided in the /samples/ directory and is trained on the LIVE-R2 database Sheikh as in the original implementation. When evaluated against the TID2008 database Ponomarenko , the SROCC is -0.8424 versus the SROCC of -0.8354 in the original implementation. C++ code for the BRISQUE LIVE-R2 trainer and TID2008 evaluator are also provided in the /samples/ directory.

Implementations§

Source§

impl QualityBRISQUE

Source

pub fn create( model_file_path: &str, range_file_path: &str, ) -> Result<Ptr<QualityBRISQUE>>

Create an object which calculates quality

§Parameters
  • model_file_path: cv::String which contains a path to the BRISQUE model data, eg. /path/to/brisque_model_live.yml
  • range_file_path: cv::String which contains a path to the BRISQUE range data, eg. /path/to/brisque_range_live.yml
Source

pub fn create_1( model: &Ptr<SVM>, range: &impl MatTraitConst, ) -> Result<Ptr<QualityBRISQUE>>

Create an object which calculates quality

§Parameters
  • model: cv::Ptrcv::ml::SVM which contains a loaded BRISQUE model
  • range: cv::Mat which contains BRISQUE range data
Source

pub fn compute( img: &impl ToInputArray, model_file_path: &str, range_file_path: &str, ) -> Result<Scalar>

static method for computing quality

§Parameters
  • img: image for which to compute quality
  • model_file_path: cv::String which contains a path to the BRISQUE model data, eg. /path/to/brisque_model_live.yml
  • range_file_path: cv::String which contains a path to the BRISQUE range data, eg. /path/to/brisque_range_live.yml
§Returns

cv::Scalar with the score in the first element. The score ranges from 0 (best quality) to 100 (worst quality)

Source

pub fn compute_features( img: &impl ToInputArray, features: &mut impl ToOutputArray, ) -> Result<()>

static method for computing image features used by the BRISQUE algorithm

§Parameters
  • img: image (BGR(A) or grayscale) for which to compute features
  • features: output row vector of features to cv::Mat or cv::UMat

Trait Implementations§

Source§

impl AlgorithmTrait for QualityBRISQUE

Source§

fn as_raw_mut_Algorithm(&mut self) -> *mut c_void

Source§

fn clear(&mut self) -> Result<()>

Clears the algorithm state
Source§

fn read(&mut self, fn_: &impl FileNodeTraitConst) -> Result<()>

Reads algorithm parameters from a file storage
Source§

impl AlgorithmTraitConst for QualityBRISQUE

Source§

fn as_raw_Algorithm(&self) -> *const c_void

Source§

fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>

Stores algorithm parameters in a file storage
Source§

fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>

Stores algorithm parameters in a file storage Read more
Source§

fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>

@deprecated Read more
Source§

fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>

👎Deprecated:

§Note

Deprecated: ## Note This alternative version of AlgorithmTraitConst::write_with_name function uses the following default values for its arguments: Read more
Source§

fn empty(&self) -> Result<bool>

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
Source§

fn save(&self, filename: &str) -> Result<()>

Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
Source§

fn get_default_name(&self) -> Result<String>

Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
Source§

impl Boxed for QualityBRISQUE

Source§

unsafe fn from_raw( ptr: <QualityBRISQUE as OpenCVFromExtern>::ExternReceive, ) -> Self

Wrap the specified raw pointer Read more
Source§

fn into_raw( self, ) -> <QualityBRISQUE as OpenCVTypeExternContainer>::ExternSendMut

Return the underlying raw pointer while consuming this wrapper. Read more
Source§

fn as_raw(&self) -> <QualityBRISQUE as OpenCVTypeExternContainer>::ExternSend

Return the underlying raw pointer. Read more
Source§

fn as_raw_mut( &mut self, ) -> <QualityBRISQUE as OpenCVTypeExternContainer>::ExternSendMut

Return the underlying mutable raw pointer Read more
Source§

impl Debug for QualityBRISQUE

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for QualityBRISQUE

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<QualityBRISQUE> for Algorithm

Source§

fn from(s: QualityBRISQUE) -> Self

Converts to this type from the input type.
Source§

impl From<QualityBRISQUE> for QualityBase

Source§

fn from(s: QualityBRISQUE) -> Self

Converts to this type from the input type.
Source§

impl QualityBRISQUETrait for QualityBRISQUE

Source§

fn as_raw_mut_QualityBRISQUE(&mut self) -> *mut c_void

Source§

fn compute(&mut self, img: &impl ToInputArray) -> Result<Scalar>

Computes BRISQUE quality score for input image Read more
Source§

impl QualityBRISQUETraitConst for QualityBRISQUE

Source§

impl QualityBaseTrait for QualityBRISQUE

Source§

fn as_raw_mut_QualityBase(&mut self) -> *mut c_void

Source§

fn compute(&mut self, img: &impl ToInputArray) -> Result<Scalar>

Compute quality score per channel with the per-channel score in each element of the resulting cv::Scalar. See specific algorithm for interpreting result scores Read more
Source§

fn clear(&mut self) -> Result<()>

Implements Algorithm::clear()
Source§

impl QualityBaseTraitConst for QualityBRISQUE

Source§

fn as_raw_QualityBase(&self) -> *const c_void

Source§

fn get_quality_map(&self, dst: &mut impl ToOutputArray) -> Result<()>

Returns output quality map that was generated during computation, if supported by the algorithm
Source§

fn empty(&self) -> Result<bool>

Implements Algorithm::empty()
Source§

impl TryFrom<QualityBase> for QualityBRISQUE

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(s: QualityBase) -> Result<Self>

Performs the conversion.
Source§

impl Send for QualityBRISQUE

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Mat> ModifyInplace for Mat
where Mat: Boxed,

Source§

unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res, ) -> Res

Helper function to call OpenCV functions that allow in-place modification of a Mat or another similar object. By passing a mutable reference to the Mat to this function your closure will get called with the read reference and a write references to the same Mat. This is unsafe in a general case as it leads to having non-exclusive mutable access to the internal data, but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.