I discovered that when you apply ippiComputeThreshold_Otsu_8u_C1R to an 8 bit gray image that only contains 0 and 255 (i.e., is already binarized), the resulting Otsu threshold is t = 0.
From my reading of the documentation, I expected that the "lower" of the two Otsu classes would be all values strictly less than the resulting threshold, i.e. the threshold could have been any value between 1 and 255. The value zero results in a uniformly white image after thresholding regardless of the input.
Thanks for the reply. I get reply from our developer.
The result should be expected. Because according to the original article (this link also exists in the manual) - http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4310076 . This function calculates a histogram of an image roi and tries to find a valley: “In an ideal case, the histogram has a deep and sharp valley between two peaks representing objects and background, respectively, so that the threshold can be chosen at the bottom of this valley”. In his particular case the histogram looks like N1,0,0,0,0,….,N2 (where N1 reflects a number of zero elements, N2 – a number of 0xFF elements), - N1 index is the bottom of the valley between N1 and N2 peaks, so corresponding Otsu threshold value is 0.