【opencv基础】cv::normlize归一化
图像数据H*W;
tensor归一化:
torch::Tensor SemanticSegment::NormPred(torch::Tensor pred) { // pred size: HW torch::Tensor maxval = torch::max(pred); torch::Tensor minval = torch::min(pred); torch::Tensor out = (pred-minval)/(maxval-minval); return out; }
opencv归一化:
cv::normalize(out, out, 0, 1, cv::NORM_MINMAX);
调用过程:
torch::Tensor pred = prediction[0].squeeze(); // [HW] torch::Tensor pred1 = NormPred(pred); pred1 = pred1.to(torch::kFloat32).cpu(); cv::Mat out = cv::Mat(out_h, out_w, CV_32FC1, (float*)pred1.data_ptr()); // cv::normalize(out, out, 0, 1, cv::NORM_MINMAX); out = out *255; out.convertTo(out, CV_8UC1); out = out.clone(); return out;
二者做的处理是一样的,但是最后的结果不一样;tensor数据归一化可以得到正确的灰度图,但是opencv的normlize得到的是全黑的;
不知道为什么???
各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/