mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
Add some useful input assertions to PSNR function
Input arrays must be depth CV_8U and of identical size.
This commit is contained in:
parent
1caca2112b
commit
6da62f56fa
@ -4150,7 +4150,10 @@ double cv::PSNR(InputArray _src1, InputArray _src2)
|
|||||||
{
|
{
|
||||||
CV_INSTRUMENT_REGION()
|
CV_INSTRUMENT_REGION()
|
||||||
|
|
||||||
CV_Assert( _src1.depth() == CV_8U );
|
//Input arrays must have depth CV_8U and be of identical size
|
||||||
|
CV_Assert( _src1.depth() == CV_8U && _src2.depth() == CV_8U );
|
||||||
|
CV_Assert( _src1.rows() == _src2.rows() && _src1.cols() == _src2.cols() && _src1.dims() == _src2.dims() );
|
||||||
|
|
||||||
double diff = std::sqrt(norm(_src1, _src2, NORM_L2SQR)/(_src1.total()*_src1.channels()));
|
double diff = std::sqrt(norm(_src1, _src2, NORM_L2SQR)/(_src1.total()*_src1.channels()));
|
||||||
return 20*log10(255./(diff+DBL_EPSILON));
|
return 20*log10(255./(diff+DBL_EPSILON));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user