如果我在两个 8UC1 图像上执行矩阵乘法或每个元素乘法,如果其中一个像素值大于 255 会怎样?例如,如果在图像 A 中某个像素的值为 100,而在图像 B 中该相同像素的值为 150(对于每个元素乘法的情况),那么显然 100*150 > 255 - 该像素也会简单地被截断为 255值(value)?如果是这样,我是否可以进行一些转换来保留该信息而不会被截断?
最佳答案
opencv 将饱和 uchar img 的结果。
为避免这种情况,请使用例如multiply 中的 dtype 标志并指定一个大于您输入的类型
Mat a, b; //input, CV_8U
Mat c; // output, yet unspecified
multiply( a,b, c, 1, CV_32S ); // c will be of int type, untruncated results
关于c++ - 矩阵乘法导致值大于 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619890/