明亮问题处理
This commit is contained in:
1 parent
9c1b1c3944
commit
338243fa14
1 file changed
+47
-13
+47
-13
@@ -3034,13 +3034,49 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
|
||||
// printf("CreateVirtualFace %s, %d, %f\n", strName.c_str(), virtualFaceCenterFaceID, angleLimit);
|
||||
|
||||
if (angleDeg <= 45.0f)
|
||||
{
|
||||
filteredCams.push_back(idxView);
|
||||
{
|
||||
// filteredCams.push_back(idxView);
|
||||
|
||||
//*
|
||||
float brightnessScore = CalculateBrightnessScore(imageData); // 亮度评分函数
|
||||
float angleScore = 1.0f - (angleDeg / 45.0f);
|
||||
float qualityScore = 0.0f;
|
||||
const FaceDataArr& centerFaceDatas = facesDatas[virtualFaceCenterFaceID];
|
||||
for (const FaceData& fd : centerFaceDatas) {
|
||||
if (fd.idxView == idxView) {
|
||||
qualityScore = fd.quality;
|
||||
break;
|
||||
}
|
||||
}
|
||||
qualityScore = std::max(0.0f, std::min(1.0f, qualityScore));
|
||||
float overallScore = 0.5f * angleScore + 0.3f * brightnessScore + 0.2f * qualityScore;
|
||||
if (overallScore > 0.4f) {
|
||||
filteredCams.push_back(idxView);
|
||||
}
|
||||
//*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
filteredCams.push_back(idxView);
|
||||
{
|
||||
// filteredCams.push_back(idxView);
|
||||
|
||||
//*
|
||||
float brightnessScore = CalculateBrightnessScore(imageData); // 亮度评分函数
|
||||
float angleScore = 1.0f - (angleDeg / 60.0f);
|
||||
float qualityScore = 0.0f;
|
||||
const FaceDataArr& centerFaceDatas = facesDatas[virtualFaceCenterFaceID];
|
||||
for (const FaceData& fd : centerFaceDatas) {
|
||||
if (fd.idxView == idxView) {
|
||||
qualityScore = fd.quality;
|
||||
break;
|
||||
}
|
||||
}
|
||||
qualityScore = std::max(0.0f, std::min(1.0f, qualityScore));
|
||||
float overallScore = 0.5f * angleScore + 0.3f * brightnessScore + 0.2f * qualityScore;
|
||||
if (overallScore > 0.3f) {
|
||||
filteredCams.push_back(idxView);
|
||||
}
|
||||
//*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3359,9 +3395,8 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
|
||||
}
|
||||
//*/
|
||||
|
||||
if (validViewsSize<=0&&false)
|
||||
if (validViewsSize<=0)
|
||||
{
|
||||
//*
|
||||
// int nSize = sortedViews.size(); // (sortedViews.size() > 3) ? 3 : sortedViews.size();
|
||||
|
||||
// // 计算初始平均值
|
||||
@@ -3476,7 +3511,6 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
|
||||
virtualFaceData.quality = totalQuality2 / validIndices.size();
|
||||
virtualFaceData.color = totalColor2 / validIndices.size();
|
||||
}
|
||||
//*/
|
||||
}
|
||||
else if (validViewsSize>0&&validViewsSize<=2&&false)
|
||||
{
|
||||
@@ -3651,7 +3685,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA
|
||||
|
||||
// if (colorDistance <= maxColorDeviation &&
|
||||
// luminanceDistance <= maxLuminanceDeviation)
|
||||
if (luminanceDistance <= maxLuminanceDeviation)
|
||||
// if (luminanceDistance <= maxLuminanceDeviation)
|
||||
{
|
||||
validIndices.push_back(n);
|
||||
}
|
||||
@@ -4339,7 +4373,7 @@ bool MeshTexture::CreateVirtualFaces62(FaceDataViewArr& facesDatas, FaceDataView
|
||||
}
|
||||
qualityScore = std::max(0.0f, std::min(1.0f, qualityScore));
|
||||
float overallScore = 0.5f * angleScore + 0.3f * brightnessScore + 0.2f * qualityScore;
|
||||
if (overallScore > 0.15f) {
|
||||
if (overallScore > 0.2f) {
|
||||
filteredCams.push_back(idxView);
|
||||
}
|
||||
//*/
|
||||
@@ -4363,7 +4397,7 @@ bool MeshTexture::CreateVirtualFaces62(FaceDataViewArr& facesDatas, FaceDataView
|
||||
}
|
||||
qualityScore = std::max(0.0f, std::min(1.0f, qualityScore));
|
||||
float overallScore = 0.5f * angleScore + 0.3f * brightnessScore + 0.2f * qualityScore;
|
||||
if (overallScore > 0.15f) {
|
||||
if (overallScore > 0.2f) {
|
||||
filteredCams.push_back(idxView);
|
||||
}
|
||||
//*/
|
||||
@@ -4633,7 +4667,7 @@ bool MeshTexture::CreateVirtualFaces62(FaceDataViewArr& facesDatas, FaceDataView
|
||||
|
||||
// if (colorDistance <= maxColorDeviation &&
|
||||
// luminanceDistance <= maxLuminanceDeviation)
|
||||
if (luminanceDistance <= maxLuminanceDeviation)
|
||||
// if (luminanceDistance <= maxLuminanceDeviation)
|
||||
{
|
||||
validIndices.push_back(n);
|
||||
}
|
||||
@@ -6970,9 +7004,9 @@ bool MeshTexture::FaceViewSelection3( unsigned minCommonCameras, float fOutlierT
|
||||
// CreateVirtualFaces(facesDatas, virtualFacesDatas, virtualFaces, minCommonCameras);
|
||||
// CreateVirtualFaces3(facesDatas, virtualFacesDatas, virtualFaces, minCommonCameras);
|
||||
// CreateVirtualFaces4(facesDatas, virtualFacesDatas, virtualFaces, mapFaceToVirtualFace, minCommonCameras);
|
||||
// CreateVirtualFaces6(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
CreateVirtualFaces6(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
// CreateVirtualFaces61(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
CreateVirtualFaces62(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
// CreateVirtualFaces62(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
TD_TIMER_STARTD();
|
||||
// CreateVirtualFaces7(facesDatas, virtualFacesDatas, virtualFaces, isVirtualFace, minCommonCameras);
|
||||
DEBUG_EXTRA("CreateVirtualFaces7 completed: %s", TD_TIMER_GET_FMT().c_str());
|
||||
|
||||
Reference in new issue
Block a user