Browse Source

处理脖子偏黄的问题

master
hesuicong 2 weeks ago
parent
commit
4a8e6dedee
  1. 29
      libs/MVS/SceneTexture.cpp

29
libs/MVS/SceneTexture.cpp

@ -3347,7 +3347,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
} }
//*/ //*/
if (validViewsSize<=0) if (validViewsSize<=0&&false)
{ {
//* //*
// int nSize = sortedViews.size(); // (sortedViews.size() > 3) ? 3 : sortedViews.size(); // int nSize = sortedViews.size(); // (sortedViews.size() > 3) ? 3 : sortedViews.size();
@ -3466,7 +3466,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
} }
//*/ //*/
} }
else if (validViewsSize>0&&validViewsSize<=2) else if (validViewsSize>0&&validViewsSize<=2&&false)
{ {
/* /*
virtualFaceData.quality = 0; virtualFaceData.quality = 0;
@ -3569,21 +3569,31 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
} }
else else
{ {
/* //*
ASSERT(processedFaces > 0); ASSERT(processedFaces > 0);
virtualFaceData.quality /= processedFaces; // virtualFaceData.quality /= processedFaces;
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA #if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA
virtualFaceData.color /= processedFaces; // virtualFaceData.color /= processedFaces;
#endif #endif
*/
virtualFaceData.quality = 0;
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA
virtualFaceData.color = Point3f::ZERO;
#endif
//*/
/*
// 如果所有视图都被排除,保留原始平均值 // 如果所有视图都被排除,保留原始平均值
if (validIndices.empty()) { if (validIndices.empty() || validViews.size() <= 0) {
// virtualFaceData.quality = avgQuality; // virtualFaceData.quality = avgQuality;
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA #if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA
// virtualFaceData.color = avgColor; // virtualFaceData.color = avgColor;
#endif #endif
virtualFaceData.quality = medianQuality; // virtualFaceData.quality = medianQuality;
virtualFaceData.color = medianColor; // virtualFaceData.color = medianColor;
virtualFaceData.quality /= processedFaces;
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA
virtualFaceData.color /= processedFaces;
#endif
} }
else { else {
// 使用过滤后的视图重新计算平均值 // 使用过滤后的视图重新计算平均值
@ -3600,6 +3610,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
virtualFaceData.quality = totalQuality2 / validIndices.size(); virtualFaceData.quality = totalQuality2 / validIndices.size();
virtualFaceData.color = totalColor2 / validIndices.size(); virtualFaceData.color = totalColor2 / validIndices.size();
} }
//*/
} }
} }
else else

Loading…
Cancel
Save