计算填充颜色的百分比,特别是 ROI?
Calculation of percentage of filled-in color in particular ROI?
这是一个例子。我有一个健康栏。如果玩家的 HP 为 100%,他的健康栏就会一直显示为红色。如果他受到攻击,健康条的一部分是红色的,其余部分是黑色的(因为他失去了一些生命值)。我在他的健康栏所在的地方做了一个投资回报率。我如何使用 OpenCV 计算他生命的百分比?
这是我得到的最终解决方案。感谢 Miki
Mat testBar = src(Rec_UserBarHP);
Mat testBarHSV;
cvtColor(testBar, testBarHSV, COLOR_BGR2HSV);
Mat mask1;
inRange(testBarHSV, Scalar(0, 70, 50), Scalar(10, 255, 255), mask1);
Mat mask = mask1;
int TotalPixels = testBarHSV.rows * testBarHSV.cols;
float ZeroPixels = TotalPixels - countNonZero(testBarHSV);
ostringstream str;
str << "Number of red pixels:" << ZeroPixels;
putText(src, str.str(),
Point(5, 5),
FONT_HERSHEY_COMPLEX_SMALL,
1.0,
Scalar(255, 255, 255),
1,
CV_AA);
这是一个例子。我有一个健康栏。如果玩家的 HP 为 100%,他的健康栏就会一直显示为红色。如果他受到攻击,健康条的一部分是红色的,其余部分是黑色的(因为他失去了一些生命值)。我在他的健康栏所在的地方做了一个投资回报率。我如何使用 OpenCV 计算他生命的百分比?
这是我得到的最终解决方案。感谢 Miki
Mat testBar = src(Rec_UserBarHP);
Mat testBarHSV;
cvtColor(testBar, testBarHSV, COLOR_BGR2HSV);
Mat mask1;
inRange(testBarHSV, Scalar(0, 70, 50), Scalar(10, 255, 255), mask1);
Mat mask = mask1;
int TotalPixels = testBarHSV.rows * testBarHSV.cols;
float ZeroPixels = TotalPixels - countNonZero(testBarHSV);
ostringstream str;
str << "Number of red pixels:" << ZeroPixels;
putText(src, str.str(),
Point(5, 5),
FONT_HERSHEY_COMPLEX_SMALL,
1.0,
Scalar(255, 255, 255),
1,
CV_AA);