public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
inputFrame.gray();
}
这会返回一个垫子。如果我将其转换为字节数组,则最大值为127,最小值为-128。我想把它转换为min 0和max 255.这可能吗???
如果是这样怎么样?
我试着编写一个for
循环,并在字节数组中为每个元素添加128。虽然它导致字节数组的最小值为-105,最大值为107。
任何想法??
for(int k=0;k<grayScaleImageArray.length;++k){
grayScaleImageArray[k]= (byte) (grayScaleImageArray[k]+128);
}
答案 0 :(得分:0)
正如Micka在评论中所说,你必须使用不同的类型,即8位无符号。
uchar[] unsignedArray = new uchar[signedArray.length];
for(int k = 0; k < signedArray.length; ++k)
{
unsignedArray[k] = uchar((int)(signedArray[k]) + 128);
}