1 /*
2 在图片里查找指定颜色的比例
3 */
4 int Widget::qimage_color_Find(QImage qimage)
5 {
6 int num = 0;//记录颜色的像素点
7 float rate;//要计算的百分率
8 quint8 r,g,b;
9 //遍历图片的每一个像素点
10 for(int i = 0; i < qimage.height();i++) //行数
11 {
12 for(int j = 0; j <qimage.width();j++) //列数
13 {
14 QRgb rgb=qimage.pixel(j,i);
15 r=qRed(rgb);
16 g=qGreen(rgb);
17 b=qBlue(rgb);
18
19 if((r <= 120 && g <= 120 && b <= 120))
20 {
21 num++;
22 }
23 }
24 }
25 rate = (float)num / (float)(qimage.height() * qimage.width());
26
27 //阀值为 0.99777 表示为全黑
28 if(rate>0.60)
29 {
30 //qDebug()<<"qimage:故意遮挡摄像头";
31 }
32 qDebug()<<"qimage:比例:"<<rate;
33 return 0;
34 }